Commit graph

75921 commits

Author SHA1 Message Date
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
Iavor-Valentin Iftime
40adb17a1c Rebuild and copy recovery and boot img when using vendor_otatools
Rebuild recovery and boot images with vbmeta footers and copy together with recovery patch/install files when building vendor images using vendor otatools. Fixes validate_target_files failure.

Bug: 220126689
Bug: 186097910

Test: sign_target_files_apks \
        --vendor_otatools=otatools_vendor_dir \
	--vendor_partitions=vendor,odm \
	merged-target_files.zip \
	signed-target_files.zip
Test: validate_target_files signed-target_files.zip

Change-Id: Id45c67405bc37b769757db1701507f82cc6068d3
2022-04-19 18:35:36 +00:00
Treehugger Robot
95654c5113 Merge "Adding BOARD_BUILD_GKI_BOOT_IMAGE_WITHOUT_RAMDISK" 2022-04-19 16:17:38 +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
f4ad50eeb6 Merge "Revert "Create lists of projects to share per dist target"" 2022-04-15 17:31:03 +00: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
Treehugger Robot
03ea8842af Merge "Non-module targets." 2022-04-15 04:41:23 +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
e487fa3ccb Merge "Rename listshare and checkshare." 2022-04-14 22:09:15 +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
b760b469c7 Merge "Remove usages of long-form variables" 2022-04-14 16:55:18 +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
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