The installation rules for soong built system images are generated by
soong, but the installation rules rules for make built images are still
generated by make in dex_preopt_libart.mk. There is an existing
discrepancy between the two. Make built images generates three
installation rules for
1. system/framework/<primary_arch>/$bootjar.vdex (symlink)
2. system/framework/<secondary_arch>/$bootjar.vdex (symlink)
3. system/framework/$bootjar.vdex (actual file)
Soong copies the file to (1), creates a symlink from (2) to (1) and
skips (3) altogether. This CL makes the Soong installation rules match
Make installation rules. This will eventually allow
us to build devices by skipping `katiBuild` and moving straight to
`katiPackaging`.
Test: no diff in make built installed files
target/product/vsoc_x86_64/obj/PACKAGING/system_intermediates/file_list.txt
(top of stack)
Test: debugfs out/target/product/vsoc_x86_64/system/etc/aosp_cf_system_x86_64.img
verified system/framework/boot-apache-xml.vdex exists
verified system/framework/x86/boot-apache-xml.vdex exists as a symlink
verified system/framework/x86_64/boot-apache-xml.vdex exists as a symlink
Bug: 355700341
Change-Id: I52853c07674b77a984b5a5ac5dcd69236b642b46
It doesn't need to be a Makefile variable exported from Soong as it's
hard-coded.
Bug: 353429422
Test: boot shiba with SANITIZE_TARGET=hwaddress
Change-Id: I4a98eaaf1002aa7aba5d5131ff251bdcbdd2e0ef
* changes:
Revert^6 "Use Soong-built system/build.prop"
Revert^6 "Sync gen_build_prop.py to sysprop.mk"
Revert^2 "Conditionally pass kernel version to build.prop"
Revert^6 "Add TARGET_SYSTEM_PROP to system build.prop"
Revert "Revert "Revert^2 "Set output for build_prop even on Soon..."
Resource_dirs is queried using PathsWithOptionalDefaultForModuleSrc,
which includes all the infrastructure to resolve module references,
but needs to be tagged android:"path" to be able to add the module
references as dependencies.
Test: Manually
Change-Id: Ie3f75332c9a4cc0ee4b4c93268188440ff7ce249
If a prebuilt APEX is compressed, it's installed without decompression
even when PRODUCT_COMPRESSED_APEX is false.
This change decompresses the prebuilt/compressed APEX.
Bug: 356533488
Test: OVERRIDE_PRODUCT_COMPRESSED_APEX=false m
Change-Id: Ifdde074e383837df92d172bc483bfca9a97cb6f8
Update compiler to r536225 and the error: argument '-fno-relaxed-template-template-args' is deprecated arises.
Bug: b/341084395
Test: presubmit
Change-Id: If714f96e4537b5f8d695cd7c0d1cd0a8ddcbb96e
This reverts commit 7b7593968b.
Reason for revert: fixed breakage with aosp/3200730, verified with ABTD
Change-Id: I83a4cb1a39bce1a1da8fabd49c6c895862a6c686
This reverts commit 29fed1efe8.
Reason for revert: Fixed breakage with aosp/3200730, verified with ABTD
Change-Id: I207abd188636673250eb9a070be95db0b82f39e7
Revert submission 3196490-revert-3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ-XYILSUPUOA
Reason for revert: DroidMonitor: Potential culprit for b/356297315 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted changes: /q/submissionid:3196490-revert-3195812-revert-3195644-revert-3195637-revert-3184480-system_build_prop_soong-BZIDUTEOOC-KRUETCBWUR-TUHZPHUVFJ-XYILSUPUOA
Change-Id: I40f63fdc0c25c37a7193ec09407498e707a55a37
This change allows from-text stubs to be generated for all
java_sdk_library modules, unlike how it is currently limited to the
modules that contribute to the api surfaces (i.e. the SDK).
This change accomplish this by modifying the dependency of the
from-text stubs generation, so that the sdk_library generated from-text
stubs generating java_api_library modules no longer depend on the full
api surface stubs, but generate the stubs in the module level, and
combined later to generate the full api surface stubs.
This change also removes the java_api_library modules defined in
core-libraries/Android.bp, which are passed to generate the system
modules. Given that the from-text vs from-source toggle is done within
the java_sdk_library stubs level, these modules no longer need to exist.
Implementation details:
- Allow sdk_version to be specified in java_api_library modules. For
java_sdk_library-generated java_api_library modules, they inherit that
of the sdk_library module. Some java_sdk_library modules that do not
contribute to the api surface are allowed to set sdk_version to
something other than "none" or "core".
- Implement java_api_library to implement `SdkContext`. This allows
java_api_library to collect required deps from sdk_version (classpath,
bootclasspath, system modules), and pass the collected jars when
generating the stubs srcjar in metalava and compiling the stubs srcjar
in javac.
- Remove hardcoded list of sdk_library modules that are allowed to
genereate stubs from the api signature files, and allow from-text
stubs generation by default. Modules that are not able to generate
stubs from the api signature files are specified by setting the newly
introduced `Build_from_text_stubs` property to `false`.
Test: ENABLE_HIDDENAPI_FLAGS=true m
Bug: 327507877
Change-Id: Ia35d2f3cf9fae48fc8c4bd99a84ae18d7c0e7bee
Currently, all bpf programs require a cflags field which defines -Wall
and -Werror. This change enables this by default, and also enables
-Wextra. This removes boilerplate required for every bpf program, and
improves code quality.
Additionally, this change enables the default of 'btf: true' further
reducing the boilerplate required for most bpf programs in their
Android.bp file. BTF should be enabled by default, with only limited
mainlined bpf programs requiring BTF being disabled for compatibility
with older bpfloader releases.
Test: Treehugger
Change-Id: I8efd0f63115030d40c0ff7fe81d5345ff3436e5a
Signed-off-by: Neill Kapron <nkapron@google.com>
for ABFS.
A consistent source directory addresses problematic full path inputs and
outputs, which can manifest as cache misses or build failures after an ABFS
patch application.
Bug: 347704053
Change-Id: Ib2297bb0b904b1b490e83c22fd468eee928e53fe
To replace soong config modules with selects.
Bug: 342006386
Test: m nothing --no-skip-soong-tests
Change-Id: I56080c9a1647a072836d4e4e50d6a5d2c1a69d28
To support skipping ninja file writing during incremental build, we
add all the global rules/variable/pools from static sources because
when we restore from cache we don't have the build defs available to
build the globals. This means all the global rules and variables are
added blindly, so we need to exclude these darwin specific ones since
they will fail due to they depends on the tool that only exists on MAC.
Bug: 335718784
Test: local tests and CI
Change-Id: Ife835545f0f76ffaec77e48bdd89ab7384a1b995
This reverts commit 036d9e6744.
Reason for revert: DroidMonitor: Potential culprit for b/356297315 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: I58f1e43978eb812004d2e46fa7ce402e164d2800
The RBE tmp dir holds all the re-client logs and socket files.
Currently, it is being created as the `out/soong/.temp/` dir, which is auto deleted by Soong. This is causing problems because while a build is running, user cannot open a second terminal and run `lunch`.
This CL fixes the issue by creating the RBE tmp dir in the `out/soong/rbe/` directory. The next RBE build will clean this folder.
Bug: 349664018
Change-Id: Ib238e48f5b19755b016263b45f02b1be3e8efb35
* changes:
Conditionally pass kernel version to build.prop
Revert^4 "Use Soong-built system/build.prop"
Revert^4 "Sync gen_build_prop.py to sysprop.mk"
Revert^4 "Add TARGET_SYSTEM_PROP to system build.prop"
Revert^2 "Set output for build_prop even on Soong only build"
Revert submission 3195358-ndk-libcxx
Reason for revert: Droidmonitor created revert due to b/356220894. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:3195358-ndk-libcxx
Change-Id: Ic9cd3d30637d5ac187d3fc80b34d45083f37064e