summaryrefslogtreecommitdiff
path: root/android
AgeCommit message (Collapse)Author
2022-05-02soong: Add Init_rc to Product_variables.EngHEADsugisawa-mr1dianlujitao
Change-Id: If490b64f3631ec0825ffa28964a3e65572a9bcb8
2022-05-01Merge tag 'LA.QSSI.12.0.r1-07100.01-qssi.0' into sugisawa-mr1alk3pInjection
"LA.QSSI.12.0.r1-07100.01-qssi.0" Change-Id: Id8574091781260a4fd53ec02dc902e2f6dd5cf28
2022-02-22Merge SP2A.220305.013Haamed Gheibi
Bug: 220074017 Change-Id: Ia2198b401a3a907c785316e0ef4c00bf27fa59b1
2022-02-03soong: Add exported-to-kati namespaces to root namespacesugisawaLuK1337
This lets us use boot jar modules that are hidden behind soong_namespace. Change-Id: If0068387efdeca5458b5b97ce6b993b10a268bd2
2021-11-05S V2 is now 32Michael Wright
Bug: 204295952 Test: N/A Change-Id: Ib13f30c27cf79c2903e05d3c2cd27d79c4a28668 Merged-In: Ib13f30c27cf79c2903e05d3c2cd27d79c4a28668
2021-10-12Added src and exclude_src to debuggable buildsJay Aliomer
Fixes: 200976245 Test: manually tested Change-Id: I68b6230f30aa2c15e6a80010cd639ea453b4b29e Merged-In: I68b6230f30aa2c15e6a80010cd639ea453b4b29e (cherry picked from commit 85a8afa9e72feff6d804c5d0a0827db63cb55fb9)
2021-08-04Merge SP1A.210803.001Scott Lobdell
Change-Id: Ia3abf30c22f1b40f53fb4ffba670c8015413b1c0
2021-07-22Allowlist external/libtextclassifier for sdk_variant_only.Chang Li
Bug: 166040889 Change-Id: If8a9d916dada116f52fd84194fa42e9179526b2c
2021-07-20Merge "soong: add kryo785 architecture variant for arm64" into ↵Treehugger Robot
s-keystone-qcom-dev
2021-07-16Merge "Merge SP1A.210709.002" into s-keystone-qcom-devHaamed Gheibi
2021-07-15dexpreopt.config should be created even though unbundled image is builtJeongik Cha
Bug: 188179858 Test: compare dexpreopt_config.zip files from 1. TARGET_BUILD_UNBUNDLED_IMAGE=true m dexpreopt_config_zip 2. m dexpreopt_config_zip (note that m clean should run between steps) Change-Id: I36a6e8b10b9922cc5522accaf90af1aa05049a86 (cherry picked from commit 4b073cd0835555597c2b05320f1b36f60adbf63a)
2021-07-15Port module_partition logic for RRO from Make to SoongSpandan Das
The default partition for RRO is "product/" in Make, but it was "system/" in Soong. This CL ports the logic from Make to Soong To implement this, a new function PathForModuleInPartitionInstall is created that enables callers to provide the relevant partition Bug: 158407753 Test: from build/soong, ran go test ./java Change-Id: I05b02eae7fe57189aaad5109c26cccc5823518ef (cherry picked from commit 5d1b929f216513fa2c6b96d7d157289019018086)
2021-07-13Share EffectiveLicenseFiles for snapshot modulesJustin Yun
License files must be captured with the snapshot modules. NoticeFiles does not have the information provided by the `license` module. Reading the `Effective_license_text`, snapshot includes the required license files. Bug: 190690041 Test: build check the NOTICE files built from snapshots Change-Id: I96c4579b4bef484cbb39fc06c707742a02a2b90b (cherry picked from commit 885a7dea6833373fcd41961737308de718995280)
2021-07-12Merge SP1A.210709.002Haamed Gheibi
Change-Id: I875d10af6b1546ee1b90ad5880874f8ef01f7ed3
2021-07-07Merge SP1A.210624.001Scott Lobdell
Change-Id: I8507f8b65c47a5b425464bbbc8d932a6ca359fd3
2021-07-07Merge changes from topic "revert-15071196-init_first_stage_soong-GBJXQRPEKC" ↵TreeHugger Robot
into sc-dev * changes: Revert "Add install_in_root to cc_binary" Revert "Add ramdisk_available to sysprop_library" Revert "Fix ndk and aml arch order"
2021-07-01Revert "Add install_in_root to cc_binary"Inseob Kim
Revert "Add ramdisk_available to init_first_stage's deps" Revert submission 15071196-init_first_stage_soong Reason for revert: fixes b/192248690 Reverted Changes: I23cf4f975:Add ramdisk_available to init_first_stage's deps Icd98c7e24:Add ramdisk_available to init_first_stage's deps If9da9ba16:Add ramdisk_available to init_first_stage's deps Ibc8668029:Add ramdisk_available to init_first_stage's deps I3b4b8c475:Add ramdisk_available to init_first_stage's deps I59cd149e0:Completely migrate init first stage to Soong I36d789578:Add ramdisk_available to init_first_stage's deps I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule... I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars I8aab5faf3:Add ramdisk_available to init_first_stage's deps I9d5a10661:Add ramdisk_available to init_first_stage's deps Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps I7cb582ca0:Update init_first_stage I06091d15e:Add ramdisk_available to init_first_stage's deps I8bdb8dda3:Add ramdisk_available to init_first_stage's deps I7436b8dd1:Add ramdisk_available to init_first_stage's deps I39693fd86:Add ramdisk_available to init_first_stage's deps I0a9ba90f0:Add ramdisk_available to init_first_stage's deps Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps I31ce63d23:Add ramdisk_available to init_first_stage's deps Icb580f97c:Add ramdisk_available to init_first_stage's deps I044a075b7:Add ramdisk_available to init_first_stage's deps I33164a7e7:Fix ndk and aml arch order Ib8d92904a:Add ramdisk_available to sysprop_library Ibc3516453:Add install_in_root to cc_binary Change-Id: I3f48a1bee726c7c2b38c9bdc501b2a32337eaab7
2021-07-01Revert "Fix ndk and aml arch order"Inseob Kim
Revert "Add ramdisk_available to init_first_stage's deps" Revert submission 15071196-init_first_stage_soong Reason for revert: fixes b/192248690 Reverted Changes: I23cf4f975:Add ramdisk_available to init_first_stage's deps Icd98c7e24:Add ramdisk_available to init_first_stage's deps If9da9ba16:Add ramdisk_available to init_first_stage's deps Ibc8668029:Add ramdisk_available to init_first_stage's deps I3b4b8c475:Add ramdisk_available to init_first_stage's deps I59cd149e0:Completely migrate init first stage to Soong I36d789578:Add ramdisk_available to init_first_stage's deps I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule... I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars I8aab5faf3:Add ramdisk_available to init_first_stage's deps I9d5a10661:Add ramdisk_available to init_first_stage's deps Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps I7cb582ca0:Update init_first_stage I06091d15e:Add ramdisk_available to init_first_stage's deps I8bdb8dda3:Add ramdisk_available to init_first_stage's deps I7436b8dd1:Add ramdisk_available to init_first_stage's deps I39693fd86:Add ramdisk_available to init_first_stage's deps I0a9ba90f0:Add ramdisk_available to init_first_stage's deps Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps I31ce63d23:Add ramdisk_available to init_first_stage's deps Icb580f97c:Add ramdisk_available to init_first_stage's deps I044a075b7:Add ramdisk_available to init_first_stage's deps I33164a7e7:Fix ndk and aml arch order Ib8d92904a:Add ramdisk_available to sysprop_library Ibc3516453:Add install_in_root to cc_binary Change-Id: Iaccc4bada78e63fdae3249adfc668c0b30418758
2021-06-28add support for ramdiskvivek mehta
CRs-Fixed: 2847831 Change-Id: I7a51ea80616cd9b3f1de84623f72bc1de62cac20
2021-06-25Support hidden API processing for modules that use platform APIsPaul Duffin
Previously, hidden API processing could only be done by those bootclasspath_fragment modules that either did not depend on any other fragments (e.g. art-bootclasspath-fragment) or only depended on APIs provided by other fragments (e.g. i18n-bootclasspath-fragment). That meant that modules like com.android.os.statsd-bootclasspath-fragment that depended on APIs provided by parts of the platform which are not yet part of another bootclasspath_fragment could not perform hidden API processing. This change adds support for a bootclasspath_fragment to specify the additional stubs needed to perform hidden API processing. It adds a new additional_stubs property that can be used to specify the additional stub libraries. Most bootclasspath_fragments that need to use the property will need access to the APIs provided by the android-non-updatable.* libraries. Rather than have each fragment explicitly specify the correct module for each scope it treats "android-non-updatable" as if it was a java_sdk_library that can provide different jars for each scope. Soong will handle mapping that to the correct android-non-updatable.* module. Bug: 179354495 Test: m out/soong/hiddenapi/hiddenapi-flags.csv \ out/soong/hiddenapi/hiddenapi-index.csv \ out/soong/hiddenapi/hiddenapi-stub-flags.txt \ out/soong/hiddenapi/hiddenapi-unsupported.csv - make sure that this change does not change the contents. m TARGET_BUILD_APPS=Calendar nothing Merged-In: Ia8b79830ed0e6d42100de03d76b0c51b7f6c8ade Change-Id: Ia8b79830ed0e6d42100de03d76b0c51b7f6c8ade (cherry picked from commit 5cca7c44e51d0d08a5ea842d0f9870a772529dec)
2021-06-25Merge "Make prebuilt properties customizable" into sc-devTreeHugger Robot
2021-06-24Merge changes from topic "init_first_stage_soong" into sc-devInseob Kim
* changes: Fix ndk and aml arch order Add ramdisk_available to sysprop_library Add install_in_root to cc_binary
2021-06-24Make prebuilt properties customizableLiz Kammer
Previously whether prebuilt properties were customizable was dependent on the order of calling various inits. Test: go test soong tests Bug: 191975220 Change-Id: Icaa1fe811a5f5fc4aa5fc9fa0ec0b90debe3d537 Merged-In: Icaa1fe811a5f5fc4aa5fc9fa0ec0b90debe3d537 (cherry picked from commit 69d6413dd0a0dad94335a4b0c8e9eef5c9383b70)
2021-06-23Merge SP1A.210618.002Scott Lobdell
Change-Id: I391f8746ac516029ee2765a3dc26b8dab19e05da
2021-06-23Remove duplicate component from sdk snapshotPaul Duffin
Previously, an sdk snapshot could contain the following: * A java_sdk_library_import module, e.g. "foo" which creates component modules "foo.stubs", etc. * A corresponding versioned module, e.g. "sdk_foo@current" which created component modules "sdk_foo@current.stubs", etc. * An internal (to the sdk snapshot) java_import for one of "foo"'s components, e.g. "sdk_foo.stubs" * A corresponding versioned module, e.g. "sdk_foo.stubs@current". That causes a few problems: 1. The "foo.stubs" is duplicated. 2. The names of the components created by the versioned java_sdk_library_import are invalid, as they append the component's suffix to the version and not the name before the version. The latter causes problems when building against prebuilts and fixing that causes the generated snapshot to be invalid because it contains duplicate definitions of the "sdk_foo.stubs@current" module. One explicitly in the Android.bp file and one created by the "sdk_foo@current" module. Removing the duplicates from the snapshot causes errors as the name generated by the snapshot for the component module, i.e. "sdk_foo.stubs@current" does not match the name generated by the "sdk_foo@current", i.e. "sdk_foo@current.stubs". This change fixes them together. Bug: 179354495 Test: m nothing Change-Id: I515f235fe21755b5275af12366e96c24c94c0273
2021-06-23Fix ndk and aml arch orderInseob Kim
Some codes assume that the first arch is the primary arch. But ndk/aml arch order have been [arm, arm64, x86, x86_64]. This fixes the order to workaround possible breakage while building ndk. Bug: 187196593 Test: OUT_DIR=out build/soong/scripts/build-ndk-prebuilts.sh Change-Id: I33164a7e7c64a23f2cc1860acb24a2584f4dffad Merged-In: I33164a7e7c64a23f2cc1860acb24a2584f4dffad
2021-06-23Add install_in_root to cc_binaryInseob Kim
To support init_first_stage, install_in_root property is added to cc_binary. The output is installed to {partition}, rather than {partition}/{mount_point}/bin. Bug: 187196593 Test: build init_first_stage Change-Id: Ibc351645308676ed188f748972eb6312c9cbd64f Merged-In: Ibc351645308676ed188f748972eb6312c9cbd64f
2021-06-21Simplify deapexer supportPaul Duffin
Uses the apex relative path to the file as the identifier that is used to obtain the path to the corresponding file extracted from the apex. That is instead of a special constructed string id. Bug: 177892522 Test: m nothing Merged-In: I5dc77c8fb272bac289b8891d1eac801e541af1f5 Change-Id: I5dc77c8fb272bac289b8891d1eac801e541af1f5 (cherry picked from commit b4bbf2ca10cc8509e3ae0ab104e9e3b55861831b)
2021-06-21Remove javalib special case in createDeapexerModuleIfNeededPaul Duffin
Removes the special case in createDeapexerModuleIfNeeded for handling java libraries and just get the Import and SdkLibraryImport module types to implement RequiredFilesFromPrebuiltApex instead. Bug: 177892522 Test: m nothing Merged-In: I5cc341b5b4168b8eb196f72273a00d498de6856f Change-Id: I5cc341b5b4168b8eb196f72273a00d498de6856f (cherry picked from commit fef5500a766d1f515ff19038e8e0e8f606e07287)
2021-06-18Export boot image files from prebuilt_apex/apex_setPaul Duffin
Previously, the prebuilt art-bootclasspath-fragment did not provide any boot image files. That meant it was impossible to build any module that requires access to those files from prebuilts, e.g. any module that needs to be dexpreopt-ed. This change enables that module to retrieve those files from the prebuilt_apex. Bug: 177892522 Bug: 189298093 Test: m nothing m droid SOONG_CONFIG_art_module_source_build=false SKIP_BOOT_JARS_CHECK=true - the previous command does not work but this change does fix one of the issues reported. Merged-In: I1d4d9545172d79282918130df6b9aa55471bffc1 Change-Id: I1d4d9545172d79282918130df6b9aa55471bffc1 (cherry picked from commit 5466a3699c550d1fa67066db48951b765156be4f)
2021-06-16Improve error reporting when a rule cannot be foundPaul Duffin
Outputs the list of available rules on separate lines. Bug: 179354495 Test: m nothing Merged-In: I845064e032f0a47d00883ff775c4f7b4fee7631e Change-Id: I845064e032f0a47d00883ff775c4f7b4fee7631e (cherry picked from commit 4dbf6cfbaec8b6ce7c6638cd455da89879d61d40)
2021-06-16Make copyBootJarsToPredefinedLocations simpler and less fragilePaul Duffin
Previously, copyBootJarsToPredefinedLocations relied on all its parameters having the same length and the same order. That made it quite fragile as changes to one of the parameters without corresponding changes to the other would cause failures. It also combined the retrieval of the boot dex jars from the modules, handling of missing boot dex jar files and the generation of the rules to copy the files. This change separates the retrieval of boot dex jars and handling of missing files from the copying of those files while at the same time making the function less fragile by replacing the three ordered parameters with two maps that shared common keys. Bug: 179354495 Test: m nothing Merged-In: Idbcd24a7e8af89f7895a20aeddc58502dcbaad03 Change-Id: Idbcd24a7e8af89f7895a20aeddc58502dcbaad03 (cherry picked from commit 5f148ca7cf2e9a9478922577b7ed70b1caacb55e)
2021-06-10soong: add kryo785 architecture variant for arm64Sungwook Jung
CRs-Fixed: 2966364 Change-Id: Ie120a718918b45e1f3c5fecc4c0caab0f17e1607
2021-06-07Merge SP1A.210604.001Scott Lobdell
Change-Id: I9b81983d1f62be7f446f6e3206c42a4ad3ef8f75
2021-06-02Merge changes from topic "may27-sdk" into sc-devJeff Sharkey
* changes: Hacky workaround for half-finalized builds. platform/build/soong - S is now 31
2021-06-01platform/build/soong - S is now 31Jeff Sharkey
Bug: 171506470 Test: Build Change-Id: I7b02ab24d12ea07463efd319a7ff059751416990
2021-05-27Make CopyDirectlyInAnyApex match the documentationColin Cross
CopyDirectlyInAnyApex was documented to copy from child to parent, but was copying from parent to child. It is unused, so reverse it to match the documentation. Bug: 183759446 Test: next CL Change-Id: I950c9b5416d66e83d76ca489aeb5e0572e005d5d Merged-In: I950c9b5416d66e83d76ca489aeb5e0572e005d5d (cherry picked from commit 4d4f7d6114abff6db05169701c2be98ed79fa95d)
2021-05-27Merge "Drop "prebuilt_" prefixes from names registered in ApexInfo.InApexXxx."Martin Stjernholm
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1719298 Bug: 180325915 Change-Id: I1fd96bad2326612d153fed31308914902f58d3ec Merged-In: Icbe4e025ce1a4c8dd258ff95d326ca2f27905188 (cherry picked from commit f4c44417a3c769be884ee1c2bdcd95689b5cecb4)
2021-05-26Merge "Merge SP1A.210513.004 Change-Id: ↵Scott Lobdell
I665e5cfaed34c1d454e6603b8eac1e0f6d4102a0" into s-keystone-qcom-dev
2021-05-22Merge changes from topic "far-dep-exists" into sc-devTreeHugger Robot
* changes: Check for product variant in addition to core variant. Plumb through OtherModuleFarDependencyVariantExists from blueprint.
2021-05-21Merge changes I4e7a7ac5,I0c73361b into sc-devMartin Stjernholm
* changes: Record the actual APEXes that a module is part of. Rename InApexes -> InApexVariants
2021-05-21Merge changes I0c80b546,Ibc673303,I70317eb8 into sc-devMartin Stjernholm
* changes: Skip TestDex2oatToolDeps on Darwin. Don't fail if the target module is disabled in dex2oat tool dependencies. Use oatdump rather than oatdumpd for boot jar boot.*.oatdump.txt files.
2021-05-21Plumb through OtherModuleFarDependencyVariantExists from blueprint.Martin Stjernholm
Test: m nothing Bug: 188398129 Change-Id: I64147293b6c51b437219e76e9e372fe56b977722 Merged-In: I64147293b6c51b437219e76e9e372fe56b977722 (cherry picked from commit 408ffd8ccadf998a364bfe69aed2faa214853a76)
2021-05-20Plumb through OtherModuleFarDependencyVariantExists from blueprint.Martin Stjernholm
Test: m nothing Bug: 188398129 Change-Id: I64147293b6c51b437219e76e9e372fe56b977722 (cherry picked from commit 408ffd8ccadf998a364bfe69aed2faa214853a76)
2021-05-20Populate individual classpath_fragments' classpaths.proto configs.satayev
To avoid duplicates on *CLASSPATH environ variables at runtime, remove split entries from platform-*classpath, i.e. all updatable jars that have their own classpath fragments should not appear in the platform-*classpath's classpaths.proto config. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: Id2759ab8e106cc183e695bf3509a6ab60ab0ef2a
2021-05-20Record the actual APEXes that a module is part of.Jiyong Park
Consider this case: apex { name: "com.android.foo", native_libs: ["foo"], } override_apex { name: "com.mycompany.android.foo", base: "com.android.foo", } cc_library { name: "foo", } There are two APEXes defined: "com.android.foo" and "com.mycompany.android.foo" which is a copy of "com.android.foo" with some properties overridden (e.g. signing keys). The module "foo" is mutated into two variants by the apex mutator: the platform variant and the apex variant. The former has the variation name "" and the later has "apex<min_api_ver>" which usually is "apex10000". Internally, the apex variant has an alias "com.android.foo". ApexInfo.InApexVariants() returns only "com.android.foo" when called for the module "foo". We can see that the information that "foo" is also part of "com.mycompany.android.foo" is completely lost. This is causing problem when we compare the apex membership by their "soong module name", not the "apex name". In the example above, the two modules have different soone module names, but have the same apex name: "com.android.foo". To fix that, this CL introduces a new field `InApexes` to the `ApexInfo` struct. It has the actual name of the APEXes that the module is part of. With the example above, `InApexes` is ["com.android.foo", "com.mycompany.android.foo"]. Cherry-picked from https://r.android.com/1710529. Bug: 180325915 Test: m nothing Test: m nothing on non-AOSP targets with ag/13740887 applied. Change-Id: I4e7a7ac5495d2e622ba92a4358ed967e066c6c2e Merged-In: I4e7a7ac5495d2e622ba92a4358ed967e066c6c2e
2021-05-20Rename InApexes -> InApexVariantsJiyong Park
.. in preparation for the upcoming change. This change doesn't alter any behavior. InApexes is a misleading name. People expects that it has the list of soong module names of the APEXes that a module is part of. So, for example, `core-oj` is a part of both `com.android.art` and `com.google.android.art`. However, in reality, that's not true. The field has `com.android.art` only. This is because the two APEXes (android and Google) have the same apex name which is `com.android.art`. That apex name is used in various places like the `apex_available` and allows us to keep using the same name regardless of whether the APEX is overridden or not. However, this is causing problems in some cases where the exact list of soong module names is required. The upcoming change will add a new field to handle the case and the new field actually will get the name 'InApexes'. So, the existing field is renamed to a less misleading name `InApexVariants`. Cherry-picked from https://r.android.com/1710528. Bug: 180325915 Test: m nothing Change-Id: I0c73361b452eddb812acd5ebef5dcedaab382436 Merged-In: I0c73361b452eddb812acd5ebef5dcedaab382436
2021-05-20Don't fail if the target module is disabled in dex2oat toolMartin Stjernholm
dependencies. dexpreopt.RegisterToolDeps runs late after prebuilt dependencies have been resolved, and there's special code in dex2oatPathFromDep to resolve the prebuilt from the source module. However, if the source module is disabled then the dependencies check in validateAndroidModule will complain, so we need to disable that check in this particular situation. Also add a comment to explain why dexpreopt.RegisterToolDeps needs to run so late. Cherry-picked from https://r.android.com/1711292. Test: m nothing Bug: 145934348 Bug: 172480615 Change-Id: Ibc673303d0336768fa23261a2068e91a08f46a30 Merged-In: Ibc673303d0336768fa23261a2068e91a08f46a30
2021-05-19Merge SP1A.210513.004Chris Gross
Change-Id: I665e5cfaed34c1d454e6603b8eac1e0f6d4102a0
2021-05-17cc/linker.go: check min_sdk_version.Elliott Hughes
Checking sdk_version broke mainline code that compiles against a current API level but needs to be able to run on an older API level. Bug: http://b/187907243 Test: treehugger Change-Id: If1192ef2809e39b043f0a384775b6c9e3a8bd619