Update androidmk to enable parsing of 'LOCAL_TARGET_SDK_VERSION' from
an Android.mk and translating it to target_sdk_version in an Android.bp.
Bug: 313336240
Test: m androidmk
Test: androidmk vendor/xts/gts-tests/tests/assist/Android.mk
Change-Id: I465aba3ea7d22a9978fc370a6718a2cfc43dce36
1. When a converted android_app module has the `test_suites` property,
rewrite the module type to an android_test one;
2. Refactor the existing codes for rewriting cc_binary to cc_test.
Bug: 217650002
Test: add unit and end-to-end tests
Test: TreeHugger
Change-Id: I90d744a2ae93561f63ed8606f37ea4aa26fa6137
Added the support to convert the Make boolean variable
LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG as auto_gen_config
and reverse its value in the androidmk tool.
Bug: 216194235
Test: m androidmk
Test: TreeHugger
Change-Id: Ieb51d52df78b9f8d78b36e864fa1e3489faa8c45
Added the support of LOCAL_CHECK_ELF_FILES in the androidmk tool.
Bug: 206162779
Test: m androidmk
Test: TreeHugger
Change-Id: I0864f54259044de2d53686a47094635d4125c071
1. Added unit tests for license conversions in the androidmk tool, by
using a mocked filesystem;
2. Added integration tests in a shell script with a mocked filesystem.
Bug: 205615944
Test: m androidmk
Test: bash androidmk_test.sh
Test: TreeHugger
Change-Id: Id3d1f914190b52b82aadda7ea019192787b839d6
1. Support license conversions in the androidmk tool. More details can be
found at go/license-androidmk;
2. As usage examples, locally this functionality has been applied to
aosp/1881088 and aosp/1869664;
Bug: 202964622
Test: m androidmk
Test: manually ran androidmk <typical Android.mk files>
Test: TreeHugger
Change-Id: I7d5013d25ad8961e997109d0378f20f5085e0ecf
Specifically this skips cases where LOCAL_MODULE_PATH
is TARGET_OUT_OPTIONAL_EXECUTABLES or TARGET_OUT_DATA_APPS.
Test: Added tests
Test: Treehugger
Change-Id: Ib64f22fc3936703c665d07dbb25d8ebf3b9f56c5
And OPTIONAL_USES_LIBRARIES. Also includes lint fix.
Fixes: 202163928
Test: Ran tool against development/apps/Development/Android.mk
Test: Added integration test cases
Change-Id: I9c8130b19f05df938f01957852384c0532e73433
LOCAL_PRODUCT_SERVICES_MODULE is interpreted as LOCAL_PRODUCT_MODULE.
When converting Android.mk to Android.bp, it must be converted to
product_specific.
Bug: 135957588
Test: na
Change-Id: I9298991aef10cc7cb82d40cd667c142e64ee50c6
1. Modified the logic of the androidmk tool, to convert the BUILD_CTS_SUPPORT_PACKAGE
field to the android_test_helper_app module type rather than android_test;
2. Updated the unit tests as well.
Bug: 191907322
Test: m androidmk
Test: TreeHugger
Change-Id: Iabff299f6d043521481ef1af457c708353559823
Added the support of `LOCAL_CERTIFICATE_LINEAGE` for the mk2bp
conversion tool `androidmk`.
Bug: 185169879
Test: rum 'm androidmk'
Test: TreeHugger
Change-Id: I7e89e60be4be26833cac13c911a9b38284a47301
1. add LOCAL_ENFORCE_USES_LIBRARIES support in the androidmk tool;
2. add one test case.
Bug: 187838385
Test: run 'm androidmk'
Test: TreeHugger
Change-Id: Ibdde2a5a58ef45655a3083b592fa21f7fe63d032
When mk2bp'ing a runtime_resource_overlay module, make it product
specific by default so that it reflects how the current make
configuration works.
Bug: 155783598
Test: bpfix_test.go
Change-Id: Icafa8228fe65ecc5b33ad80ad721e7997fbff383
Backgound: aog/919954 tried to handle
```
second line
```
but did it incorrectly. The parser works correctly (so this change
reverts aog/919954), it returns multiline comment, but the serializer
converting the internal representation to Blueprint was not emitting
'//' on the lines after the first.
Test: treehugger
Bug: 127521510
Change-Id: I0257a8b3cc4ffcaa6bea44113ceba66bb99d7e43
More recent versions of make provide "else ifdef/ifndef/ifeq/ifneq" directive:
ifdef FOO
...
else ifdef BAR
...
endif
Fix the parser to handle it. It returns the same Directive as the respective ifxxx
counterpart, only that the Name is set to "elifdef/elifndef/elifeq/elifneq".
Test: treehugger
Change-Id: I74c6a2c7224bce1dd3465012fa84880fae21349b
This change allows a test (native, java, rust or python) to be included
in host-unit-tests suite when test option `unit_test` is set to true.
Bug: 172006742
Test: m host-unit-tests
Change-Id: I69d3eb5b51198c549e2e6914ceac3a4fc33c3cf2
This reverts commit 323dc60712.
Reason for revert: Possible cause of test instability
Bug: 170513220
Test: soong tests
Change-Id: Iee168e9fbb4210569e6cffcc23e60d111403abb8
Putting t.Parallel() in each test makes them run in parallel.
Additional t.Parallel() could be added to each subtest, although
that requires making a local copy of the loop variable for
table driven tests.
Test: m checkbuild
Change-Id: I5d9869ead441093f4d7c5757f2447385333a95a4
This supports a more consistent property across modules for specifying a
subdirectory to install a file into for prebuilt_etc modules.
Updates bpfix to rewrite `sub_dir` to `relative_install_path`.
Test: gotest prebuilt_etc_test
Test: gotest bpfix_test
Bug: 156568187
Change-Id: Idd05cd2178c46e290764a3b708faa8275818ca1e
Identify variables that are cleared or reassigned, add an error and
prevent reassignment which caused a parser error.
Test: go test androidmk_test
Bug: 112653593
Change-Id: I0db3372b60812ff4cdaebb38a56ed0af0dbdb27e
Make variables containg a "-" would succeed the translation to
blueprint, only to fail during the blueprint format step. Rename those
variables with a "-" and update references to them.
Test: androidmk_test.go
Bug: 112653593
Change-Id: Ifcbe1c6749a1e7f1e0b78cd6f01a8f1f52a334d0
This can help with debugging cases where the resulting blueprint file is
invalid.
Test: Manual run of androidmk
Change-Id: I39605afa851aa6cdd8b49cc56386a8fc7347115c
Adds support to translate app prebuilt tests to android_test_import and
LOCAL_REPLACE_PREBUILT_APK_INSTALLED to preprocessed property.
Test: androidmk_test.go, bpfix_test.go
Bug: 155412211
Change-Id: I77c07c684125adf228ba91911998823a68b3a65d
This relands I12a0f907753fefd1997ab8b4ea2ac331234093cf along with
a fix to blueprint for absolute paths.
Store the current working directory and then change to the root
directory so that all file accesses must go through helpers in
the android package that properly track dependencies.
Change-Id: I24ac485677aa102eec1a2521d16820da6ee1ae77
Fixes: 146437378
Test: m checkbuild
Test: m OUT_DIR=/tmp/out nothing
Store the current working directory and then change to the root
directory so that all file accesses must go through helpers in
the android package that properly track dependencies.
Fixes: 146437378
Test: m checkbuild
Change-Id: I12a0f907753fefd1997ab8b4ea2ac331234093cf
Using a gomod-aware editor with build/soong requires that files
in build/soong can be mapped to the android/soong package path.
Move the partner androidmk and bpfix files such that their path
matches the package path when the android/soong package prefix is
replaced with the build/soong path prefix.
Test: go test ./...
Test: m bpfix androidmk partner_bpfix partner_androidmk
Change-Id: Ic7f7aad9e5eb9178eef0383f0b37e4fb93ce8314
Allows our partners to maintain partner-specific fixes in their repos. Converts most of androidmk into a library similar to bpfix. Makes some methods and types public for use by extended versions.
Bug:140727544
Test: Ran unit test cases &&
ran test conversions with sample
Change-Id: I7e1fbf3a6a7a8bd47334f43fe3eb68cbbd3426c1
Corrects an error message that refers to no_standard_libs.
Removes any tests that use no_standard_libs:true where possible as
there are duplicate tests for sdk_version:"none". Otherwise, switches
them over to use sdk_version:"none".
The androidmk mapping from LOCAL_NO_STANDARD_LIBRARIES to
no_standard_libs has also been removed. There was little point in
updating the tool to map it through to sdk_version:"none" as there are
only a couple of places where it is used, in art's test running mk
targets and in some unbundled packages to work around some limitation
in .mk based build.
Bug: 134566750
Test: m droid
Change-Id: I6413c9b1fe3e63b93753a6a017d2981e32b7e013