Ida6f7bb784efe74cc1fa0e8d370eaee803f08b0f made it possible to add
dex_import modules into apex, but that change had a bug. When creating
Android.mk for the dex_import module, the code executed an unchecked
type assertion to convert java.DexImport to java.Dependency, which
cannot be successful. This change fixes the bug by doing a checked type
assertion instead.
Bug: 157886942
Test: m (test added)
Change-Id: Id22c20d42effce539fab10b0d349bf340d467f02
Host boot image is not needed in boot.zip, which is used for the ART
APK scanner and runs on target. This commit also changes the paths in
the boot.zip by removing OS subdirectory.
Test: lunch aosp_cf_x86_phone-userdebug && m
Test: m out/soong/vsoc_x86/dex_bootjars/boot.zip \
&& zipinfo -1 out/soong/vsoc_x86/dex_bootjars/boot.zip
system/framework/x86/boot-framework.art
system/framework/x86/boot-framework.oat
system/framework/x86/boot-ext.art
system/framework/x86/boot-ext.oat
system/framework/x86/boot-core-icu4j.art
system/framework/x86/boot-core-icu4j.oat
system/framework/x86/boot-telephony-common.art
system/framework/x86/boot-telephony-common.oat
system/framework/x86/boot-voip-common.art
system/framework/x86/boot-voip-common.oat
system/framework/x86/boot-ims-common.art
system/framework/x86/boot-ims-common.oat
system/framework/x86/boot-framework-atb-backward-compatibility.art
system/framework/x86/boot-framework-atb-backward-compatibility.oat
system/framework/x86/boot-framework.vdex
system/framework/x86/boot-ext.vdex
system/framework/x86/boot-core-icu4j.vdex
system/framework/x86/boot-telephony-common.vdex
system/framework/x86/boot-voip-common.vdex
system/framework/x86/boot-ims-common.vdex
system/framework/x86/boot-framework-atb-backward-compatibility.vdex
Change-Id: Idf0541908059c454348181d90b0b3e5d6d350057
Test: lunch aosp_cf_x86_phone-userdebug && m
Test: Cherry-pick in internal master and check that on-device path to
com.google.android.dialer.support.jar now is on /product partition
(as it should be) and not on /system:
$ oatdump \
--instruction-set=x86 \
--oat-file=out/target/product/vsoc_x86/product/priv-app/GoogleDialer/oat/x86/GoogleDialer.odex \
| grep '^classpath' \
| grep -o '[^[]*com.google.android.dialer.support.jar'
/product/framework/com.google.android.dialer.support.jar
Bug: 132357300
Change-Id: Idf279ac713b9b29ff3a29f1b072bc1d57f48db26
Rename `CoveragePath` and `CoverageExcludePaths` as
`NativeCoveragePath` and `NativeCoverageExcludePaths` (resp.).
Also rename function `android.CoverageEnabledForPath` as
`android.NativeCoverageEnabledForPath`.
Test: m nothing
Bug: 158212027
Change-Id: Id2c11a638e88088096420b537effa866d7667304
Add methods to MakeVarsContext to allow Singletons to dist
artifacts without manually adding $(dist-for-goals) in Make.
Test: m checkbuild
Change-Id: Ia5ddb31afe29329f2df0ae1297ed963c8c28e590
To support dist-for-goals in Soong, we need to define all phony rules
in Make so that dist-for-goals can insert additional dependencies on
them. Collect all the phony rules in phonySingleton and write them
out as Make rules when Soong is embedded in Make, or as blueprint.Phony
rules when Soong is run standalone.
Test: m checkbuild
Change-Id: I68201eff30744b0f487fc4f11f033767b53a627d
Now that tests don't need to specify every path passed to
PathForSource or PathForModuleSrc, remove them from cc.TestConfig.
Test: all soong tests
Change-Id: I90cd7b4dfc49c156afbb0eea9a77159c3e1860fa
Now that tests don't need to specify every path passed to
PathForSource or PathForModuleSrc, remove most of them from
java.TestConfig. Leave a few that are globbed by lots of tests,
and move a few that are globbed by a single test into the tests.
Test: all soong tests
Change-Id: Ica91d7203a6a7dbca0fd4fed84c78f149b8699e1
Forcing every test to specify every file it wants to pass to
PathForSource or PathForModuleSrc is painful to maintain and
doesn't add any value. Allow tests to reference paths through
PathForSource and PathForModuleSrc without specifying them in
the mock FS.
Test: all soong tests
Change-Id: Ia8a8fd965a338d0645b3721314bf91f50146ad21
This can help with debugging cases where the resulting blueprint file is
invalid.
Test: Manual run of androidmk
Change-Id: I39605afa851aa6cdd8b49cc56386a8fc7347115c
Fix a bug where host-only modules were incorrectly listed as VNDK.
Also refactor VndkMutator() / apexVndkDepsMutator() module skipping
logic.
Bug: 158543482
Test: Add unit test to cc/cc_test.go
Change-Id: I50b09f526cbc081149d8241c2a091e3ee48ef4d7
No matter what BOARD_VNDK_VERSION is set to, VNDKs should be regarded as
PLATFORM_VNDK_VERSION. This fixes an abidiff error due to the version
mismatch.
Bug: 157106227
Test: manual test with BOARD_VNDK_VERSION
Change-Id: I0d262b8ee5ac6f40fea7c2fb18322531434c0b4b
Without specifying -soname, cc binaries are unable to locate Rust
provided shared libraries. This adds the -soname linker flag for shared
libraries.
Bug: 158490355
Test: readelf -d <cc_binary> shows the expected SONAME
Change-Id: I66852a7ce24d5ea5e426f11bc1834fb56a150628
This change make it possible to specify separate rules for native-bridge
case and non-native-bridge case.
Bug: http://b/153609531
Test: build 4arch product
Change-Id: I60145bbb9c94318f14af3cabd9f5960fc9ee62de
Bug: 152482542
Test: m checkbuild
Change-Id: I6175d7c59734ba9b6c32457e5a9b0704d49f4106
Merged-In: I6175d7c59734ba9b6c32457e5a9b0704d49f4106
Exempt-From-Owner-Approval: approved in other branches
(cherry picked from commit e3ce0ba781)
This change fixes a bug that dex_import module is always installed to
the platform even when the module is not available to the platform.
Exempt-From-Owner-Approval: cherry-pick from AOSP
Bug: 158284983
Test: OUT_DIR=/tmp/ndk build/soong/scripts/build-ndk-prebuilts.sh
Merged-In: I85570506e700be59ee63e4f1d7902a40e36df39c
(cherry picked from commit afd3d11a79)
Change-Id: I85570506e700be59ee63e4f1d7902a40e36df39c
"current" is converted to int differently if we use
sdkSpec.effectiveVersion for APK and android.ApiStrToNum for JNI.
For example, in REL branch, "current" is equiv to PlatformSdkVersion
for APK, but 10000(FutureApiVersion) for JNI.
Use sdkSpec.effectiveVersion to compare APK.min_sdk_version and
JNI.sdk_version.
Exempt-From-Owner-Approval: cherrypick from internal
Bug: 145796956
Test: m
Merged-In: I2c4dbb79ae8712004dc3a9e647aa53cd5de7b508
Change-Id: I2c4dbb79ae8712004dc3a9e647aa53cd5de7b508
(cherry picked from commit 9d2c0f7af2)
* changes:
Do not disable llndk libraries
Create only one vendor variant depending on path
Implement cc_object vendor snapshot
Refine logic choosing vendor snapshot modules
External applications such as metrics uploader depends on the TMPDIR.
DumpMakeVars is changing the TMPDIR environment variable value. Once
the work is done, TMPDIR directory is deleted. Additional flow of
the tool or external applications can panic since TMPDIR directory
does not exist. Since this is an isolated case, pass the TMPDIR
directory to the command of dumping the makefile variables.
Bug: b/140638454
Test: * Ran lunch command with ANDROID_ENABLE_METRICS_UPLOAD set
and metrics_uploader did not crash.
* m nothing
Change-Id: Ib78a3f8cfb5da48f65bd9bce1511e9abdf3d9cca
This reverts commit e68926d4d3.
Reason for revert: breaks build in various -plus-aosp branches
Bug: 158293810
Change-Id: I80572f673df83161be02873b2b2acf4b2ba9a2d4
Exempt-From-Owner-Approval: revert
Module stubs compile against module_current, so any module depending on
them had to compile against module_current (or broader) too. Treat them
as the API surface the stubs are for.
Bug: 157010342
Test: m
Change-Id: I49b9082dc1b5afe6c22e94126e574dd8061f0f39
Merged-In: I49b9082dc1b5afe6c22e94126e574dd8061f0f39
(cherry picked from commit 0bd88d0b4e)