List variables needed to be percolated in the order of inherit() calls.
children.keys() was in that order, due to starlark dictionaries being
iterable in the order of insertion, but the previous cl broke that
behavior by sorting them. Instead, only sort the children for
single value variables.
Fixes: 226206409
Fixes: 228044099
Test: ./out/rbcrun ./build/make/tests/run.rbc and testing aosp_arm64
Change-Id: I5b91514e87b158b615e4d4ec7868fccb0248379b
This reverts commit 670c587c09.
Reason for revert: Breaks RBC product config for more products than it fixes: b/228044099
Change-Id: I614663311f67b3631a0cee427453c550fc426c8b
The children to inherit from were not sorted. This
wasn't a problem for list variables, because all those
inheritances get merged together based on the @inherit/
values in the list variables. But for single value variables
it made a difference.
Bug: 226206409
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: Ib56bbb91a79fe8c7cb780c253f5bd8d6c0e87765
Jars unzipped for jacoco instrumentation may contain nonsensical
permissions. Use chmod -R =rwX to apply the current umask to all
the files and add the execute bit to directories.
Bug: 227470935
Test: manual
Change-Id: I52667ec3f0b8b8ce64b57fab088ca9d20cf561e1
This overrides the branch default
(BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE) if it is set to use
prebuilts.
Test: build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
returns false with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
in internal
Test: env TARGET_PRODUCT=module_arm64 \
build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
returns true with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
in internal
Test: env TARGET_PRODUCT=mainline_modules_x86 \
build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
returns true with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
in internal
Test: env TARGET_PRODUCT=redfin \
build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
returns false with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
in internal
Bug: 222723757
Change-Id: I0faea006b0e95eff40bbfbe00cc74ba5985beeba
The value of the AVB properties are parsed by the device
bootloader, which might expect a different format of the value.
Allowing them to have per-device settings.
The default value of those per-partition os_version is
$(PLATFORM_VERSION_LAST_STABLE), which is usually an integer,
e.g., 12.
Bug: 211364958
Test: build then `avbtool info_image`
Change-Id: I2005df615c0ff35622030baa2477e29d9d20e94f
Before this change, TARGET_BUILD_USE_PREBUILT_SDKS was turned on only if
TARGET_BUILD_APPS or TARGET_BUILD_UNBUNDLED_IMAGE is set. After this
change, TARGET_BUILD_USE_PREBUILT_SDKS is always turned on if
TARGET_BUILD_UNBUNDLED is set.
We need this change because we need to build ART services on the thin
manifest, and ART's build script only sets TARGET_BUILD_UNBUNDLED.
Bug: 177273468
Test: (on aosp-master-art) . ./build/envsetup.sh && lunch arm_krait-eng && art/tools/buildbot-build.sh --target
Change-Id: I1b5f63043d518ac8306bd172ef8afd69ab3ae8e5
Sometimes it is very handy during testing to temporarily skip Soong
tests, but there is not easy method to allow this without changing the
envsetup.sh file and re-sourcing before/after enabling/disabling the
skip-tests flag.
Test: b build '...' --skip-soong-tests
Change-Id: I6dcad3ba0336cfd1c4d2c4357b852900792445c3
mk2rbc was already emitting conversions of the dir
function, but its implementation didn't exist.
Bug: 227245326
Test: Manually
Change-Id: I3348c022a0ff84e6d3a5be6b18e45c439f1db802
Don't depend on fake_packages, they are already expanded into their
required modules.
Bug: 225187583
Bug: 226573153
Test: check dependency path to out/target/product/coral/system/apex/com.android.vndk.current.apex
Change-Id: Id7a646fe0368051a4a4719f846a158de07be9d20
When BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT is set,
snapuserd.recovery will be installed to vendor ramdisk, which we don't
want. To remove snapuserd from vendor ramdisk, remove
snapuserd.recovery. And only include it if dedicated recovery partition
is enabled. For non-dedicated recovery case, boot partition contains
snapuserd.
Test: th
Test: acloud create --local-image --local-instance, install OTA, reboot
Change-Id: Ib8173f68a1f43b736fe609977a36ad4851e0c367
Single-value product variables resolve to the first
instance of that variable in prefix order. What we
have right now is taking the value from the current
makefile if it's set, but if it's not, we take it
from the last child, not the first.
Fixes: 226206409
Test: Manually
Change-Id: Id23f7c269ff9a352bf0b67cb57156b72449f978e
Switch from combine-notice-files to html-notice-rule and
text-notice-rule.
Bug: 151177513
Bug: 213388645
Bug: 210912771
Test: m cts reportmissinglicenses
Change-Id: I59d78553f15f0fd6be87228c933693b63e2ebf04
The latest build_image.py requires fsck.erofs to execute. Adds
fsck.erofs to INTERNAL_OTATOOLS_MODULES so it can be packed into
otatools.zip.
Bug: 225756733
Signed-off-by: Woody Lin <woodylin@google.com>
Change-Id: Ib88dbb6cce5e9424d1e80173da34b503d32d0fd3
For some modules, it is necessary to access the product name from
Soong. In particular, the use case we have identified is that the
product name needs to be appended to the artifact name in the dist
copy.
Bug: 224561567
Test: Unit Tests and build relevant target/modules
Change-Id: Iaa0bfee8ef0d1201d8af02f7fc9e6ef081175da7
If0e4b958b3dfaa02771a5da70f970379635f904e made `droidcore` stop
depending on `files` so that installed files from unbuilt images
would not be built. That also disabled the dependency on installed
files that were not in any image, but the vendor notice file had
overly broad dependencies that caused them to still be built.
Icdb11d3c72b180cd02231e8dc98ae500d6566a98 made the vendor notice
file dependencies less broad, exposing the missing `droidcore`
dependencies.
Track the list of installed device files that are not included in any
image, built or unbuilt, and add them as a dependency for `droidcore`.
Bug: 225187583
Test: m checkbuild
Test: check dependency path to encryptionkey.img
Change-Id: I084158ffb52b353e9a3eca9ad06a68c80d3bd371
ALL_GENERATED_SOURCES contains the generated sources of modules
defined in Make. They always have a path inside the intermediates
directories. The only readers of ALL_GENERATED_SOURCES are filtering
for files in the output directories, and will never match anything.
Test: m checkbuild
Change-Id: Ic9af8761d445fa90088f838c385bd2aea3bc3048
The kernel referened is too old and we switched
to the GKI kernel which is located in kernel/prebuilts.
Bug: 225203974
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I02bd9cad70fafcdfda9a7540aa7f05b397023841