Stdout gets redirected to a makefile that is
ingested by the rest of the build system.
The trace outputs were being mixed up with
the rest of the output, making them hard to
read. In addition, some of the trace output
wasn't commented out, so it was defining
make rules.
Fixes: 230495885
Test: Manually
Change-Id: I02f9038cd89598fc1c1561bf4bf2997ac090d9e9
The system image itself is being removed from the sdk zip,
so remove the NOTICE file for it at the same time.
Bug: 205008975
Test: m sdk sdk_repo dist
Change-Id: Ib75b3e5919cd203e58e03efc1cb0a378283b0c34
Update PLATFORM_VERSION to UP1A. The codename is now UpsideDownCake.
Bug: 219519679
Test: m checkbuild
Change-Id: I61db64b279e4e64c9be33095bf98b3bbdb0e19d8
Merged-In: I61db64b279e4e64c9be33095bf98b3bbdb0e19d8
(cherry picked from commit 29919e3b66)
Propagate the new D8/R8 JVM flags vars that were formerly combined in
DEX_FLAGS.
Bug: 205303544
Test: time m
Change-Id: Ifc6051cd9422b3f5c52322833d9a7f5e8263f857
Adding members of the RelPgM team to fast track monthly Security SPL update approval
Bug: 219813826
Change-Id: I038e0c7aea6d1aefe5b847978838952fa653d11b
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
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
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
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
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
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
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
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
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
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
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