I changed the installs file to be after Android.mk files in
aosp/3080639, in order to minimize the information given to Android.mk
files. But it appears that some exotic vendor builds actually rely
on this information (when they shouldn't).
Bug: 340254841
Test: diff'd out/target/product/<vendor>/installed-files-vendor.txt before/after this cl, and with a revert of aosp/3080639
Change-Id: I00a06fe984397e4dba57352850f5e2484d17f657
The partitions will not include anything that's not in file_list.txt.
Zip files in EXTRA_INSTALL_ZIPS are extracted into the staging
directories when other files are installed. Their contents need to
be added to the file_list.txt so that their extracted files are not
ignored.
EXTRA_INSTALL_ZIPS is only used by android_app_set, which is only used
by partners, so this bug went unnoticed for a long time.
Bug: 337869220
Test: m droid and checked the contents of file_list.txt when adding an android_app_set locally
Change-Id: Ifa2f7168dbeedbb2308a481c0c78f28e874b0aef
core/sysprop_config.mk is added to separate code setting
ADDITIONAL_*_PROPERTIES variables. This should be a no-op for now but it
will help migrate build.prop generation to Soong.
Bug: 322090587
Test: compare build.prop files before and after
Change-Id: I57a1ae899865027bcadddc2071fcd2afcf2703bc
Replaces the use of `--input-jar-file` and `--api-xml` with the newly
added `jar-to-diff` command.
Test: TARGETS=$(for i in api.xml system-api.xml module-lib-api.xml system-server-api.xml test-api.xml; do echo out/target/common/obj/$i; done)
m $TARGETS
# Diff $TARGETS with and without this change to make sure that
# they are identical, which they are.
Change-Id: I6a78febb4b2e4d06a0b3aea29fb4a7f94c9ab9a4
As of VNDK deprecation, BOARD_VNDK_VERSION should not be referenced
anymore. This change removes BOARD_VNDK_VERSION references and related
logics from Kati, so VNDK deprecation can be fully set without flag.
Bug: 330100430
Test: AOSP CF build succeeded
Change-Id: I9ea5f1236268b99eb731ebf48afd9e595d06ab1a
As of VNDK deprecation, PLATFORM_VNDK_VERSION should no longer be used.
This change removes most of references for PLATFORM_VNDK_VERSION
variable.
Bug: 330100430
Test: AOSP CF build succeeded
Change-Id: I9293deffc01d2431740c43ecae23719a9171f344
image is being built
Bug: 330834204
Test: Build dist and check that build.prop is not copied if not building
its partition
Change-Id: Iab08ef10e7c723867c2cf3ab4f297918dca989d3
Devices may set its first vendor api level to
PRODUCT_SHIPPING_VENDOR_API_LEVEL. This will manually set to
ro.vendor.api_level and will be used by tests.
If this value is not defined, init process will automatically
calculate the ro.vendor.api_level property for tests.
Bug: 326164316
Test: Check vendor/build.prop
Change-Id: I89f844ffaad9e3e39deab1c680bd1f7f17f4d8ad
Otherwise system_ext.img wouldn't be built under $PRODUCT_OUT dir when
building a system.img&system_ext.img only build target.
Bug: 326359088
Test: Build a system/system_ext image only target
Change-Id: I8732f7a578350f8bc3b91f8a1db656bf95eddc95
- Define findlsdumps_LLNDK that vFRC process will build.
- Move LSDUMP_PATHS_FILE to target/product/gsi/Android.mk.
- Allow LLNDK dumps in prebuilts/abi-dumps/vndk.
Test: m findlsdumps_LLNDK check-vndk-list
Bug: 314010764
Change-Id: I6329cd4b1b919069291a13bd03720ceea46b95ff
Do not set BOARD_VNDK_VERSION and PLATFORM_VNDK_VERSION if VNDK is
deprecated. BOARD_VNDK_VERSION and PLATFORM_VNDK_VERSION should not be
used once VNDK is deprecated with KEEP_VNDK=false
Bug: 316829758
Test: AOSP CF build succeeded
Change-Id: Iead60663bed3653e63e7a444a873cfaea50780b0
RELEASE_BOARD_API_LEVEL_FROZEN must not be overriden by a board
config value. Use RELEASE_BOARD_API_LEVEL_FROZEN directly to build
configs.
Bug: 295269182
Test: TH
Change-Id: I60ad4cf1a9f377619fef98d6f9ef4d04d3395991
SOONG_COLLECT_JAVA_DEPS was uncondtionally enabled in
If30ad5dbabb6709f834134cbc9a513a9bdc9d9de, remove the conditional
check for disting the results. The prevents rerunning Make analysis
in ASfP, which is setting SOONG_COLLECT_JAVA_DEPS=true.
Test: builds
Change-Id: Ibecbeeefda3fec43c8a54b5ff80835e331bab1fc
As part of the effort to support page size agnostic builds, this patch
adds a product property that is set when Android is built with
`PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true` set. This property is
required to be set on all devices launching with V and later.
Test: atest -c Vts16KPageSizeTest
Bug: 315034809
Change-Id: Ia4f7cca362d8e65459b9a1f188cf60d9905c624b
If RELEASE_BOARD_API_LEVEL is defined, set the API level to
ro.llndk.api_level to show the maximum api level that the LLNDK in
the system partition supports.
Bug: 312098788
Test: getprop ro.llndk.api_level
Change-Id: Ia65bf6c30ea19b229543d35df788eb202fd50dd4
Go 1.21 changes the names of some factory functions to include
characters that need shell escaping. Wrap everything written to
the sbom file with single quotes.
Bug: 309895579
Test: m out/target/product/vsoc_x86_64/sbom-metadata.csv
Change-Id: Ia61f02d8b02dd9f92ce144307087423c592a1833
BOARD_API_LEVEL and BOARD_API_LEVEL_FROZEN are set by the release
flags.
BOARD_API_LEVEL sets ro.board.api_level that shows the API level of
the vendor API surface.
BOARD_API_LEVEL_FROZEN sets ro.board.api_frozen that shows if the
ro.board.api_level is finalized.
Bug: 295269182
Test: getprop ro.board.api_level
Change-Id: Ie57c57b6c9f1fc0c98968195843059a48da8e512
Only LOCAL_MODULE_TAGS := tests is used is meaningful in the current
implementation. "optional" and "samples" both exist in the tree, but
are meaningless. "gnu", "user", "eng" and "debug" are no longer used,
and are already forbidden by the unusual tags check. The info from the
"module" target is now available in module-info.json. Delete all the
irrelevant code.
Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I04e8178a362e382a1a4bd997c1b4c3a480db7714
Until we have updated art mainline module, we must provide
ro.product.vndk.version to use product namespace for product apks.
This can be removed when art mainline module is updated.
Bug: 308676119
Test: See if product apps uses product-clns namespace in
cf_x86_64_phone-next-userdebug
Change-Id: I5030fb0f82c80e0cb94c89179e6c71df119368da
Product modules no longer use vndk libraries but install them to
/product/lib[64].
Test: lunch cf_x86_64_phone-next-userdebug; m
Test: atest GtsVndkDependencyTestCases
Bug: 299867815
Bug: 302255959
Change-Id: I67614457c83f0f18eba7dc1d8259efeb5795807b
The Soong tests are being disabled by default, add them as a manual
dependency of checkbuild to esnure they still run in CI.
Bug: 269296618
Test: aninja -t path checkbuild out/host/linux-x86/bin/go/soong-java/test/test.passed
Change-Id: Ice9b5ecdef8455cd0b173edbac141861cffc28c1
Overall android build system assumes empty value as false, so comparing
KEEP_VNDK value with false can cause unexpected problem in the future.
It should be changed to compare with true in opposite way.
Bug: 299197187
Test: aosp_cf build succeeded with KEEP_VNDK=false
Change-Id: I5db685c2735309a14ea6bdb8b8928b2aa987929f
vndk_package installs more than VNDK APEX, which includes LLNDK for
system and some core modules with vendor variant. This change adds a new
target llndk_in_system to instal LLNDK modules in the system image and
use this package if VNDK is deprecated
Bug: 299197187
Test: Cuttlefish and Cheetah boot succeeded without error
Change-Id: I9fe1114fdcb65c6143b5f734425c878a29138d0b
16K dev option should be visible on particular devices which set
PRODUCT_16K_DEVELOPER_OPTION. Adding a system property which will be
enabled based on this option.
Test: m, booted device with PRODUCT_16K_DEVELOPER_OPTION ON/OFF and
verified option visibility.
Bug: 297922563
Change-Id: I6d1cd2ce0c6f38fb43222d8e1ac2b797ef675c62
Before, as each module was built, it would dump its proguard-related
files into the PACKAGING folder. Then the rule for the final distable
zip would zip up this whole folder. This means that if you built a
module that was not part of the system, and then rebuilt the final
zip, it would erronously include more proguard files than necessary.
This problem was worked around by relying on CI to run `m installclean`
every time.
Now, the zip proguard files always include the same information.
This also makes it so that when you build a module, its proguard files
are not copied to the PACKAGING folder, making builds that don't
build the final proguard zips slightly faster.
Bug: 205632228
Test: diff'd proguard-dict.zip, proguard-dict-mapping.textproto, and proguard-usage.zip before/after this cl on sdk_phone_x86_64. They have diffs, but only in the order of files / lines.
Change-Id: I98c02e1eb117c337ba9b98f04ad486597eb9bb86
The files inside the odex zip files are now part of $(installed_files)
as of aosp/2729625.
Bug: 205632228
Test: m out/target/product/emulator_x86_64/sbom-metadata.csv, before this cl you can find duplicate entries for the odex files. After this cl there's only 1
Change-Id: I1645bd1bb9e1f10fc3746225a15b8431b666580e
ro.(product.)vndk.version should be empty when the VNDK is deprecated.
This change skips property set up when KEEP_VNDK flag is false. Device
can check if VNDK is deprecated with ro.(product.)vndk.version property.
Bug: 290159430
Test: aosp_cf_x86_64_phone build and boot succeeded.
Change-Id: Ia02fb33137c8df456fda87b5b769cfb940349747
A change is being made to properly track apex compat symlinks in
the installation logic, which causes the artifact path requirements
to start complaining about them. Exclude them from the artifact path
requirements.
Bug: 205632228
Test: m nothing
Change-Id: Ie975b7450574d41bb13bb2179edc31ba4edd413e
Add a new flag variable for deprecating VNDK. This variable should be
passed to Soong, so it can change behavior based on the flag.
Bug: 290157355
Test: build succeeded with KEEP_VNDK=false
Change-Id: I3a9d1041411ad24ff42f76506a8f929e364b868d
When a vintf_fragments or init_rc file is shared by two modules,
unintended modules are installed due to the shared file.
This was caused by add-all-target-to-target-required-modules-deps.
With the following definitions:
cc_binary {
name: "foo",
vintf_fragments: ["shared.xml"],
required: ["foo-req"],
}
cc_binary {
name: "bar",
vintf_fragments: ["shared.xml"],
}
When installing "bar", surprisingly, "foo-req" is installed due to the
link between "shared.xml" and "foo-req" added by
add-all-target-to-target-required-modules-deps.
To fix that, in this change, vintf_fragments and init_rc files are
marked as "order-only" deps. In
add-all-target-to-target-required-modules-deps, order-only deps are not
used to add links to "required" modules.
Now, with the same definitions, installing "bar" won't installs
"foo-req".
Bug: 198818343
Test: (see above)
Change-Id: I16be0dcb84564c559cb2f4223e2812321ee14729