Commit Graph

75894 Commits

Author SHA1 Message Date
Cole Faust
e050e8fec0 Implement enforce_product_packages_exist
This is something that didn't show up as a regression
when testing ninja files, but does show up when testing
make variables.

Bug: 229132189
Test: New --quick mode in rbc_dashboard.py
Change-Id: I6c1219cdc5ee1d8b3cc39e8f944e99fc380d4668
2022-04-13 14:48:59 -07:00
Cole Faust
ec8316de2e Optionally dump RBC variables at the end of config.mk
config.mk represents essentially the entire product/board
configuration. In order to develop a "quick" rbc regression
test, dump all the make variables at the end of config.mk.

We can then compare these variable dumps instead of ninja
files, because the ninja files take much longer to generate.

Bug: 229132189
Test: Manually
Change-Id: I4e8371be446b7e511aba22dff58530a6d9ff072f
2022-04-13 14:48:32 -07:00
Bob Badour
1fd4bda634 Create lists of projects to share per dist target
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses
Change-Id: I23ee3a983c205ee2a62e47edc2039b7cc713c420
2022-04-13 11:27:59 -07:00
Bob Badour
213095a919 Rename listshare and checkshare.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses
Change-Id: I223c4496d776a1bbd4fdce31ed79a638ed3491d8
2022-04-13 11:04:43 -07:00
Bob Badour
b03c16badc Non-module targets.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses

Change-Id: I4ee8fd67ee30a3e21723e13642fdb89cd626a2dd
2022-04-12 18:57:15 -07:00
Dan Shi
dadf7ca475 Package vts kernel tests in general-tests.zip
Bug: 228204473
Test: m dist general-tests
Change-Id: Ic6dac4427f1cc2c3bbfdb6905936e2478e5a4350
2022-04-12 15:50:53 -07:00
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
5d46c6133b Allow setting PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS to false
Some products clear PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS
in order to disable it. But oftentimes this clearing relies on
the fact that clearing a variable will also cause it to not
inherit from any already-inherited files. Starlark doesn't support
this inheritance behavior, so allow setting
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS to false so that it
can be explicetly disabled instead of relying on the clearing
behavior.

Bug: 221312707
Test: Manually
Change-Id: I03a227911c6985a65fc5d210682bbd4ac9bd6747
2022-04-12 13:43:28 -07:00
Treehugger Robot
7bc6d0e71d Merge "Put javac, d8 and r8 rules into RBE ninja pool" 2022-04-12 14:27:24 +00:00
Treehugger Robot
2f6aa08f69 Merge "Remove unused combine-notice-files macro." 2022-04-11 19:42:48 +00:00
Treehugger Robot
ff15a27bd7 Merge "Non-module targets." 2022-04-11 19:42:29 +00:00
Treehugger Robot
9bc50689c9 Merge "revert addition of --skip-soong-test flag" 2022-04-11 16:14:35 +00:00
Albert Martin
7366fcbca6 Merge "Add flag to globally override updateable apexes' min_sdk_version" 2022-04-11 12:29:09 +00:00
Sam Delmerico
9d67a905b7 revert addition of --skip-soong-test flag
aosp/2045666 attempted to permit passing the `--skip-soong-tests` flag
through the `b` command to `soong_ui`, but it has been causing problems.

Test: b build '...' --skip-soong-tests is not recognized
Test: build/bazel/ci/bp2build.sh
Change-Id: I02487841d8081218dc941cb04bfa1a9e148ab6af
2022-04-11 12:27:10 +00:00
Treehugger Robot
9d1b28ed10 Merge "Implement multitree lunch" 2022-04-09 00:19:03 +00:00
Treehugger Robot
84a39ac3f0 Merge "change logtags dependency to provide java sources" 2022-04-08 22:37:22 +00:00
Cole Faust
ea935b5ad9 Merge "Fix "posix_spawn: Argument list too long" issue" 2022-04-08 20:44:38 +00:00
Joe Onorato
824608c33d Implement multitree lunch
Test: (cd build/make/orchestrator/core ; ./test_lunch.py)
Change-Id: I4ba36a79abd13c42b986e3ba0d6d599c1cc73cb0
2022-04-08 13:42:55 -07:00
Bill Yi
bd6df21f31 Merge "Merge SP2A.220405.004 to aosp-master - DO NOT MERGE" 2022-04-08 18:08:24 +00:00
Colin Cross
24575c46e3 Put javac, d8 and r8 rules into RBE ninja pool
javac, d8 and r8 rules for module defined in Android.mk files are
running remotely with RBE but are running in the local ninja pool,
restricting them to only running as many jobs in parallel as there
are local CPUs.  Set the ninja pool to let them run 500 jobs in
parallel.

Bug: 228603472
Test: m checkbuild
Change-Id: I60f7859f3657fc1eff0daf0e0a1b0f9fe63551b6
2022-04-08 10:56:57 -07:00
Albert Martin
d94a8982fd Add flag to globally override updateable apexes' min_sdk_version
Override all mainline updateable apexes' min_sdk_version to same version to get a single shared native lib version on DCLA.

Test: Run "vendor/google/build/go/mainline_go_modules_arm.sh" and inspect built apexes
Bug: 212609891
Change-Id: I8edf09ca3c91ee52e9c2138c71d9b155b4448f66
Merged-In: I8edf09ca3c91ee52e9c2138c71d9b155b4448f66
2022-04-08 17:45:43 +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
Bob Badour
6259a09b7a Remove unused combine-notice-files macro.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m cts reportmissinglicenses
Test: m droid reportmissinglicenses
Change-Id: I4cddf9a381a1258bdc2b1b42be72c447df10d234
2022-04-07 22:04:03 -07:00
Bob Badour
3a0f0c157e Non-module targets.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses

Change-Id: Ia7cddef9748f6c036a2fc7539dad717ebc131f7c
2022-04-07 22:03:29 -07: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
6bb8a1ad22 Add comment for previous CL
Let people know why why change 2051889 was created

Bug: 226402757
Test: N/A
Change-Id: I57cfa6382805aa20e2a905936d63ffaec6c3c236
2022-04-05 16:29:18 +00:00
Sam Delmerico
b6fe473734 change logtags dependency to provide java sources
This rule originally used an android_library because it needed access to
SDK methods, but we can instead just provide Java sources and expect the
dependee to link the SDK methods.

Test: enabled QuickSearchBox and build
Change-Id: I7f1cdbea49e100ecc0944f8caa39683fb73016fb
2022-04-05 16:06:46 +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