When an intermediate product is evaluated, it needs to
act as if it's the only product being evaulated. However,
currently, if it inherited a makefile that was also being
inherited by the overall top level product via a different
path, it would not get the values from that makefile.
Copy the configs dictionary before evaluating each product
that needs artifact path requirements, and create seperate
postfix orders for all of them that don't contain any products
that they don't inherit from.
Bug: 221312707
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I235ad78d587a2e315ba446b5e126d8f6d0fbbea7
1. Filtered out the Android.mk file if the Make modules on them are
not in the PRODUCT_PACKAGES or the correspoding deps;
2. Merged the Android.mk file list by partitions for all lunch targets.
Bug: 225256154
Test: lunch aosp_coral-eng; m
out/target/product/coral/mk2bp_remaining.html
Test: python3 build/make/tools/mk2bp_partition.py
Change-Id: I40919e81ab3c6bd516379f0acd72932e8db50088
The shell command was too long when it listed all the make variables.
Dump them to a file instead.
Fixes: 228347189
Test: RBC_BOARD_CONFIG=1 m nothing on aosp_arm64
Change-Id: I325c78810f5efbe87df2c3ffc269ed78db8c3732
The EROFS is planned to replace the ext4 as the file system format
of readonly partitions. This patch is enabling the ability to
build GSI with EROFS. The usage is
$ GSI_FILE_SYSTEM_TYPE=erofs make -j
Bug: 227552340
Test: lunch gsi_arm64-user; GSI_FILE_SYSTEM_TYPE=erofs make -j
Test: Verify the file system format of system.img
Change-Id: Ie815002c677d099c4db0ab7ca22db16ac6123659
This reverts commit 59ecb9e016.
Reason for revert: symbols_map is fixed to ignore non-elf files
Bug: 218888599
Change-Id: I88654b2dba3dfb9ab2809b0555544277279f345d
Artifact path requirements requires setting some new variables,
and also dumping the state of the product config variables
after evaluating partial products that set artifact path requirements.
Bug: 188079133
Test: Removed the code that disabled artifacts path requirements from the rbc dashboard script,
and verified that it was still green for aosp_arm64
Change-Id: I228e35285d788f4c83aa695c0f28b7c7db02544c
cl/2045666 allowed the --skip-soong-tests flag to pass through
invocations of the `b` command to soong_ui. But when the flag was
missing, an extra `""` argument was passed instead which caused soong_ui
to invoke a build of the droid target.
Test: m clean && b build '...' # verify Soong does not run a build
Change-Id: I7b99437d225786eb1698a88d0c755ce897550e70
Run the symbols_map tool on each unstripped binary and proguard
dictionary while copying it to produce a textproto that maps the
hash to the symbol/dictionary file location. Combine the textprotos
into a mapping file when producing the zipped build artifacts.
Bug: 218888599
Test: m dist
Change-Id: I78997e2f3b631ed74213903cc8e72415b2d7eee0
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
To increase its feature parity with our notdir
implementation and gnu make.
Bug: 227245326
Test: Manually
Change-Id: Ied975f934d7af963e0099054c416f0d364aec8f9
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
Had to make changes to make to ensure that we don't duplicate
Bug: 226402757
Test: Confirmed that libraries are installed to the correct place
Change-Id: I64e4a5ab7cac3fb57442d19b0f796fffb0a3f48a
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
As a first step to making .rbc files compatible with bazel,
remove regex support since bazel doesn't have it.
Fixes: 227384703
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I8b946c20cc42897a47a5516a167732f4e16b6158
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