Commit Graph

75821 Commits

Author SHA1 Message Date
Cole Faust
1c08360ca8 Evaluate intermediate products properly
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
2022-04-12 15:25:14 -07:00
Cole Faust
ea935b5ad9 Merge "Fix "posix_spawn: Argument list too long" issue" 2022-04-08 20:44:38 +00:00
Bill Yi
bd6df21f31 Merge "Merge SP2A.220405.004 to aosp-master - DO NOT MERGE" 2022-04-08 18:08:24 +00:00
Treehugger Robot
7b51e8cbdf Merge changes from topic "colefaust_artifact_path_requirements"
* changes:
  Add artifact path requirement support to Starlark
  Support `m product-graph` in Starlark product config
2022-04-08 17:32:25 +00:00
Yuntao Xu
722d0a602a Merge "Make file list by partitions for all lunch targets" 2022-04-08 15:29:15 +00:00
SzuWei Lin
36fc586e07 Merge "Support building EROFS for GSI targets" 2022-04-08 08:43:01 +00:00
Bill Yi
9d994cd06b Merge SP2A.220405.004 to aosp-master - DO NOT MERGE
Merged-In: Ifba8d5912e2c39f2b403c829d44fa6d09468138d
Merged-In: Icf93f9597f78033049785cd2d2fe37d835c19b31
Change-Id: I7b4f130d0246e83d82ef6c100318a7684ef5642a
2022-04-08 02:03:17 +00:00
Yihan Dong
6d88026ef5 Merge "Add additional license dependencies for VTS" 2022-04-08 01:26:05 +00:00
Cole Faust
475b885ad3 Merge "Add mksort implementation" 2022-04-07 21:59:00 +00:00
Yuntao Xu
c21dc3c8c1 Make file list by partitions for all lunch targets
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
2022-04-07 11:01:19 -07:00
Cole Faust
971ef8ecd6 Fix "posix_spawn: Argument list too long" issue
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
2022-04-07 10:19:21 -07:00
SzuWei Lin
0c791bedb4 Support building EROFS for GSI targets
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
2022-04-07 07:11:24 +00:00
Colin Cross
d8cf9a5a30 Merge "Revert "Revert "Produce mappings of hashes to elf symbols and r8 dictionaries""" 2022-04-06 18:20:43 +00:00
Colin Cross
ac7febc9c7 Revert "Revert "Produce mappings of hashes to elf symbols and r8 dictionaries""
This reverts commit 59ecb9e016.

Reason for revert: symbols_map is fixed to ignore non-elf files

Bug: 218888599
Change-Id: I88654b2dba3dfb9ab2809b0555544277279f345d
2022-04-06 01:11:20 +00:00
Cole Faust
2e8bb7989e Add artifact path requirement support to Starlark
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
2022-04-05 16:53:38 -07:00
Cole Faust
0472730380 Support m product-graph in Starlark product config
Bug: 221312856
Test: Manually
Change-Id: Ia3a78df2de356801c83b1ba5c17601acfc026d06
2022-04-05 16:52:23 -07:00
Cole Faust
2491ad52c1 Add mksort implementation
Bug: 218736658
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I0069e7059453c16d299cc650f56c320d905f1958
2022-04-05 16:36:27 -07:00
Treehugger Robot
52233be25c Merge "Fix single value variable inheritance order" 2022-04-05 21:34:26 +00:00
Colin Cross
cba35df61b Merge "Revert "Produce mappings of hashes to elf symbols and r8 dictionaries"" 2022-04-05 17:53:24 +00:00
Colin Cross
59ecb9e016 Revert "Produce mappings of hashes to elf symbols and r8 dictionaries"
This reverts commit 3570b3ed86.

Reason for revert: b/228195288

Bug: 218888599
Change-Id: I17b38ca1b6f8940d682f2782515bfd5f8db1ce58
2022-04-05 17:47:27 +00:00
Treehugger Robot
54dbc8c36a Merge "prevent unintended m bp2build "" when running b" 2022-04-05 17:45:08 +00:00
Trevor Radcliffe
f190db2a0c Merge "Make changes to support test_suites for test lib" 2022-04-05 15:34:53 +00:00
Colin Cross
229fb33e39 Merge "Produce mappings of hashes to elf symbols and r8 dictionaries" 2022-04-05 14:16:16 +00:00
Sam Delmerico
89a4702555 prevent unintended m bp2build "" when running b
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
2022-04-05 13:47:32 +00:00
Orion Hodson
2f4e021780 Merge "Update checkowners.py to support python3" 2022-04-05 08:22:38 +00:00
Treehugger Robot
d17518474a Merge "Support more dependencies for license metadata." 2022-04-05 00:22:12 +00:00
Colin Cross
3570b3ed86 Produce mappings of hashes to elf symbols and r8 dictionaries
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
2022-04-04 16:04:52 -07:00
Treehugger Robot
cd2eca27f7 Merge "Make dir work on multiple paths" 2022-04-04 21:47:46 +00:00
Treehugger Robot
ea8eedde00 Merge "Revert "Fix inheritance order"" 2022-04-04 21:07:26 +00:00
Treehugger Robot
bd78ed0726 Merge "Remove regex functionality from rbcrun" 2022-04-04 20:36:35 +00:00
Cole Faust
32e413a294 Fix single value variable inheritance order
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
2022-04-04 11:55:02 -07:00
Cole Faust
56d7c008bc Revert "Fix inheritance order"
This reverts commit 670c587c09.

Reason for revert: Breaks RBC product config for more products than it fixes: b/228044099

Change-Id: I614663311f67b3631a0cee427453c550fc426c8b
2022-04-04 17:28:28 +00:00
Orion Hodson
e421668192 Update checkowners.py to support python3
Update generated with 2to3.

Bug: N/A
Test: manually check OWNERS files
Change-Id: Idccc7ba36351854fe2b7a669a99c97f3f3a03d0e
2022-04-04 13:22:38 +01:00
Bob Badour
061d7e6f2b Support more dependencies for license metadata.
Bug: 213388645

Test: m vts reportmissinglicenses

Change-Id: I8de06c802d2397d02d9c2152f764b1d5ea2f795c
2022-04-01 16:02:40 -07:00
Cole Faust
5e0edffa3c Merge "Fix inheritance order" 2022-04-01 19:55:21 +00:00
Cole Faust
bbc27ea077 Make dir work on multiple paths
To increase its feature parity with our notdir
implementation and gnu make.

Bug: 227245326
Test: Manually
Change-Id: Ied975f934d7af963e0099054c416f0d364aec8f9
2022-04-01 12:09:40 -07:00
Yihan Dong
e45ff68740 Add additional license dependencies for VTS
Bug: 213388645
Test: m vts
Change-Id: I5f0b35b5ec943f5628f118bf0812391047b49708
2022-04-01 09:35:27 +00:00
Lucas Wei
20ba096e0a Merge "Remove ALL_GENERATED_SOURCES" 2022-04-01 03:00:10 +00:00
Cole Faust
670c587c09 Fix inheritance order
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
2022-03-31 17:30:35 -07:00
Colin Cross
bcabb923dc Merge "Reset permissions after unzipping jars" 2022-03-31 19:35:06 +00:00
Trevor Radcliffe
74a4de735b Make changes to support test_suites for test lib
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
2022-03-31 18:15:58 +00:00
Colin Cross
a8ac282038 Reset permissions after unzipping jars
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
2022-03-30 20:05:34 -07:00
Treehugger Robot
4a723d0ecf Merge "Support per-partition settings for os_version AVB props" 2022-03-31 02:27:04 +00:00
Treehugger Robot
06f7176fc6 Merge "Build modules from source for module products." 2022-03-30 20:41:53 +00:00
Cole Faust
4f414a9f52 Merge "Update paths to mk2rbc/rbcrun" 2022-03-30 19:43:06 +00:00
Treehugger Robot
375dd60d5a Merge "add flag to skip soong tests for b command" 2022-03-30 19:27:45 +00:00
Cole Faust
62878a2cef Remove regex functionality from rbcrun
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
2022-03-30 12:00:15 -07:00
Martin Stjernholm
47dcbeaefb Build modules from source for module products.
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
2022-03-30 18:16:51 +01:00
Treehugger Robot
ddfa3ff19c Merge "Always turn on TARGET_BUILD_USE_PREBUILT_SDKS for unbundled build." 2022-03-30 11:06:46 +00:00
Bowgo Tsai
b0f436386f Support per-partition settings for os_version AVB props
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
2022-03-30 11:52:39 +08:00