Commit graph

30029 commits

Author SHA1 Message Date
Cole Faust
5e43109586 Make mkstrip always return a string
This is what mk2rbc assumes, and previously that
assumption was incorrect when passing a list to
mkstrip.

Bug: 226974242
Test: Presubmits
Change-Id: I7b1596662df7c966404aab2a99d7c2e53d917bd6
2022-04-26 15:30:20 -07:00
Treehugger Robot
5f6235e580 Merge "Expand KNOWN_CODENAMES to cover all entries in Build.VERSION_CODES." 2022-04-22 19:52:05 +00:00
satayev
e0a44065b1 Expand KNOWN_CODENAMES to cover all entries in Build.VERSION_CODES.
Bug: 220153433
Test: atest BuildTest
Change-Id: I24d73a846d14a032c1e03679cef10cfeac814bb9
Merged-In: I24d73a846d14a032c1e03679cef10cfeac814bb9
(cherry picked from commit da1e41d1f3)
2022-04-22 09:14:48 -07:00
Treehugger Robot
8ecc6369f0 Merge "Use the new R8/D8_FLAGS vars" 2022-04-22 02:42:06 +00:00
Treehugger Robot
5b945cb354 Merge "Add owners for version_defaults.mk" 2022-04-21 23:58:04 +00:00
Jared Duke
1410f684f6 Use the new R8/D8_FLAGS vars
Propagate the new D8/R8 JVM flags vars that were formerly combined in
DEX_FLAGS.

Bug: 205303544
Test: time m
Change-Id: Ifc6051cd9422b3f5c52322833d9a7f5e8263f857
2022-04-21 18:24:55 +00:00
Treehugger Robot
d7856b74dc Merge "Declare license metadata for copied files." 2022-04-20 23:58:24 +00:00
Bassem Khalife
5dc6b582be Add owners for version_defaults.mk
Adding members of the RelPgM team to fast track monthly Security SPL update approval

Bug: 219813826
Change-Id: I038e0c7aea6d1aefe5b847978838952fa653d11b
2022-04-20 22:09:56 +00:00
Bob Badour
540a3f8ec1 Declare license metadata for copied files.
Bug: 151177513

Test: m droid dist reportmissinglicenses
Change-Id: Iada4a0ba3583f78e9419a5f487388b5e5eba195a
2022-04-20 13:01:35 -07:00
Ivan Lozano
6689f3889e Merge "rust: Add proc_macro NOTICE files" 2022-04-20 19:21:25 +00:00
Treehugger Robot
8a6fa9c7c5 Merge "Allow init_rc files to be installed in ramdisk" 2022-04-20 18:07:17 +00:00
Trevor Radcliffe
1e63a893dc Merge "Add comment for previous CL" 2022-04-20 14:16:22 +00:00
Treehugger Robot
9ec1a7aa72 Merge "Correct abspath implementation" 2022-04-20 01:32:16 +00:00
Treehugger Robot
0339142a27 Merge "Sort inherited products correctly" 2022-04-20 01:09:36 +00:00
Cole Faust
426c7441b0 Correct abspath implementation
realpath doesn't return a path if the file doesn't exist,
but $(abspath) in make does.

Bug: 229132189
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: Ief7f634024cc52a9e8c5e478666b15512512f0d8
2022-04-19 14:46:09 -07:00
Colin Cross
845e23b0de Merge "Put javac, d8 and r8 rules into RBE ninja pool, take two" 2022-04-19 20:52:39 +00:00
Bowgo Tsai
85578e0a9d Adding BOARD_BUILD_GKI_BOOT_IMAGE_WITHOUT_RAMDISK
GKI targets, e.g., `gki_arm64` or `gki_x86_64` have only
boot-*.img files without a ramdisk. It has no other images,
e.g., init_boot.img, system.img, etc.

The current build system assumes that the ramdisk is either
in a boot.img or in a init_boot.img, which is not true for
those GKI targets. Adding a new flag to support building
boot-*.img without a ramdisk while not building an init_boot.img.

Bug: 220834917
Test: build and `unpack_bootimg`
Change-Id: I789343c3e3d9ff0c36c0e19680a9792bd31a1c9f
2022-04-19 17:57:51 +08:00
Cole Faust
d370a3f7bd Sort inherited products correctly
We pass the filename without the extension to
rblf.inherit(). Removing the extension changes the
sort order when one file's name is a prefix of another:

```
>>> sorted(["base", "base-secondary"])
['base', 'base-secondary']
>>> sorted(["base.mk", "base-secondary.mk"])
['base-secondary.mk', 'base.mk']
```

Correct the sort order so that global variables get
their correct ordering.

Bug: 229132189
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I22367eb49b33956b71ac1b966fe78c1308b94257
2022-04-18 17:18:08 -07:00
Cole Faust
a9aa002d3b Merge "Implement abspath" 2022-04-18 21:26:40 +00:00
Colin Cross
85722b807a Put javac, d8 and r8 rules into RBE ninja pool, take two
I60f7859f3657fc1eff0daf0e0a1b0f9fe63551b6 attempted to put the javac,
d8 and r8 rules into the RBE ninja pool so they could run 500 jobs
in parallel, but rbe.mk is not parsed during the main build phase
and the pool continued to be unset.  Move the pool configuration
into config.mk.

Bug: 228603472
Test: manual
Change-Id: I56377244e1c496034576ba5988393d88c2c5b09f
2022-04-18 12:10:33 -07:00
Ivan Lozano
5880e85a0f rust: Add proc_macro NOTICE files
Collect NOTICE files from proc-macros in a similar fashion to static
libraries.

Test: m
Change-Id: Id8ef8d74c8e0ea6ce3c137231b41addcb763876d
2022-04-18 15:03:37 -04:00
Sam Saccone
6337ed39e1 Merge "Do not compress zip file for unit tests." 2022-04-16 21:13:00 +00:00
Treehugger Robot
80d2c8f7a7 Merge "Add build flags for legacy EROFS support." 2022-04-16 05:10:04 +00:00
Sam Saccone
a24c755f66 Do not compress zip file for unit tests.
BUG=229404699

Change-Id: I91df8973b9308cd3fa572d7afe1e9e4ec8a9af39
2022-04-15 23:50:12 +00:00
Cole Faust
0488f3da5b Implement abspath
This is to minimize the differences between the make
and starlark product configs for the quick ci test.

Bug: 229132189
Test: Manually
Change-Id: I3286ba64e9d8fc9d1b169a7ed18f5a565a117a8d
2022-04-15 15:05:03 -07:00
Bob Badour
59e4951021 Revert "Create lists of projects to share per dist target"
This reverts commit 1fd4bda634.

Reason for revert: Causes flaky build breakages

Bug: 229319921

Change-Id: I82e660e95c8d4d72b88d2de58d82e0d4be901869
2022-04-15 17:29:26 +00:00
Kelvin Zhang
701f161eb6 Allow init_rc files to be installed in ramdisk
Test: th
Test: m target-file-package, then check INIT_BOOT dir of target file,
    make sure snapuserd.rc is there
Bug: 219841787
Bug: 228893064

Change-Id: Iac3f219c763fbf8acd17f0339089c7576974dc05
2022-04-15 10:17:18 -07:00
Cole Faust
90814c0706 Merge "Evaluate intermediate products properly" 2022-04-15 17:11:55 +00:00
Dan Shi
52cf004a37 Merge "Package vts kernel tests in general-tests.zip" 2022-04-15 05:03:20 +00:00
Bob Badour
5acd436645 Non-module targets.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses

Change-Id: I897cf0e6f875ce2d370772405f31cc94b999ef19
2022-04-14 17:59:01 -07:00
Treehugger Robot
746806b3bb Merge "Create lists of projects to share per dist target" 2022-04-14 22:09:19 +00:00
Treehugger Robot
fc0dcc1bc1 Merge "Non-module targets." 2022-04-14 22:02:53 +00:00
Cole Faust
95601112d5 Merge "Allow setting PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS to false" 2022-04-14 16:57:39 +00:00
Cole Faust
1be3bddbfa Merge changes from topic "colefaust_enforce_product_packages_exist"
* changes:
  Implement enforce_product_packages_exist
  Optionally dump RBC variables at the end of config.mk
2022-04-14 16:56:28 +00:00
Cole Faust
81f1e92ed8 Remove usages of long-form variables
The long-form variables (PRODUCTS.<makefile>.<variable>)
are used to get information about multiple products.
However, they've never really worked correctly, and so
importing multiple products is deprecated behavior.

Remove as many usages of the long-form variables and
multi-product imports as possible.

Bug: 228518445
Test: Manually
Change-Id: I0b67f16360ff8bdcdb39638de739440472bccf76
2022-04-13 15:49:56 -07:00
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
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
Albert Martin
7366fcbca6 Merge "Add flag to globally override updateable apexes' min_sdk_version" 2022-04-11 12:29:09 +00: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
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