Commit graph

89828 commits

Author SHA1 Message Date
Ted Bauer
ad2c02c98d Merge "Revert^2 "Do not generate aconfig_flags.textproto"" into main 2023-11-01 17:05:20 +00:00
Ted Bauer
c0d16595b3 Revert^2 "Do not generate aconfig_flags.textproto"
This reverts commit 49fbb31fcf.

Reason for revert: textproto usages have been removed

Change-Id: I4021b5e79bcd114a610a529bc68e0be50500b339
2023-11-01 16:03:51 +00:00
LaMont Jones
752703251a Merge changes from topic "product-build-flags" into main
* changes:
  release_config: build flags can be lists
  Add support for product-specific build flags
2023-11-01 16:01:08 +00:00
Jooyung Han
aea4c9d496 Merge "Rewrite how to generate apexkeys.txt" into main 2023-11-01 05:13:06 +00:00
Jooyung Han
8b162283f7 Rewrite how to generate apexkeys.txt
Instead of listing all apexes in the source tree, now each apex emits
its own fragment for apexkeys.txt, which is pointed by
LOCAL_APEX_KEYS_FILE. Makefile collects apexkeys.txt from installed apex
files. This is to avoid listing unrelated apexes (not installed,
testdata, unexported namespaces, etc.)

Bug: 304914238
Test: m apexkeys.txt
Test: m blueprint-tests
Change-Id: I6b5601609d16452a0717f09ecaa703ee09693094
2023-11-01 13:06:08 +09:00
Treehugger Robot
acd740cf5b Merge "Fix non-AB ota generation failure" into main 2023-11-01 03:43:06 +00:00
Kelvin Zhang
782b752889 Fix non-AB ota generation failure
Test: ota generation on pinot target
Bug: 308615740
Change-Id: I8b540516c0ba9e3acb23eebad8569a6dbf2ef9f3
2023-10-31 19:42:39 -07:00
Dan Shi
d22a5558f4 Merge "Remove EXTRA_TEST_RUNNER_CONFIGS option in template for autogen instrumentation test" into main 2023-11-01 00:56:21 +00:00
Dan Shi
042bb8c6dc Remove EXTRA_TEST_RUNNER_CONFIGS option in template for autogen instrumentation test
Instrumentation test config created by autogen is still using python script
auto_gen_test_config.py, which doesn't support extra_runner_options yet.

Bug: 308627607
Test: m FrameworksCorePackageInstallerSessionsTests
Change-Id: Ib3bef791a9d1b3e0b68f5845dc20d2c5ec5791ec
2023-10-31 15:44:16 -07:00
Treehugger Robot
0559341ecc Merge "Retire obsolete emulator targets and boards" into main 2023-10-31 17:54:03 +00:00
Treehugger Robot
a8d60eb042 Merge "Move more non-AB code to separate files" into main 2023-10-31 17:47:23 +00:00
Roman Kiryanov
4bf479f605 Retire obsolete emulator targets and boards
the sdk_phone* targets are replaced with sdk_phone64*,
the emulator* boards are replaced with emu64* in
the device/generic/goldfish folder.

Bug: 295259752
Test: presubmit
Change-Id: I069a06baf02aea30db617f183abbfeaa6f968f29
Signed-off-by: Roman Kiryanov <rkir@google.com>
2023-10-31 09:49:07 -07:00
Treehugger Robot
32500b007f Merge "Move vndk apex to the vendor partition for in-development builds" into main 2023-10-31 04:00:51 +00:00
Kelvin Zhang
513b86e5c2 Move more non-AB code to separate files
non-AB has different lifetime and development cycles from AB. To avoid
accidentally breaking each other when making changes, put non-AB code in
its own files.

Test: local non-AB OTA generation
Bug: 296485685

Merged-In: I0736ecef343834c746464666a454a8bfcd4a20ea

Change-Id: I0736ecef343834c746464666a454a8bfcd4a20ea
2023-10-30 23:43:15 +00:00
LaMont Jones
1dc07fa574 release_config: build flags can be lists
Allow a build flag definition to indicate that its value should be the
concatentation of assignements, rather than the final assigned value. In
this case, the "default" value from the flag definition is always
present as the start of the list.

The initial use case for this is RELEASE_ACONFIG_VALUE_SETS, where we
need apply multiple definition files that should be processed to arrive
at the final value.

Bug: b/302593603, b/304814040
Test: manual
Change-Id: I2474cdf23341f9b1682affce6cc784281557655d
2023-10-30 23:40:04 +00:00
LaMont Jones
c6631fed48 Add support for product-specific build flags
1. release config maps now specify where the flag definitions are found.
2. PRODUCT_RELEASE_CONFIG_MAPS specifies additional release config map
   files to use.

This allows product config to specify build flags, which can then be
specified by users of that product.

Bug: b/302593603
Test: manual
Change-Id: I660a3d88c2aaecc14d6f370bebb0d05a8cc224f2
2023-10-30 23:40:04 +00:00
Treehugger Robot
4c56f45c50 Merge "Add a phony target for mk2bp_remaining files." into main 2023-10-30 22:28:10 +00:00
Wei Li
2e84027864 Add a phony target for mk2bp_remaining files.
Bug: 308452586
Test: m mk2bp_remaining; CIs
Change-Id: I3d9242db500232da281f148da6b8205ada0b72e2
2023-10-30 11:20:13 -07:00
Wei Li
52c2ea6a18 Merge "Generate SBOM of .kcm files in layoutlib." into main 2023-10-30 17:37:09 +00:00
Dave Mankoff
9d9d6556dc Merge "Let aconfig protos be read by FlagFlipper" into main 2023-10-30 15:27:33 +00:00
Greg Kaiser
f3d33fb878 Merge changes If78eacd6,Ie418aee2,Ica87b396 into main
* changes:
  Set empty TARGET_RELEASE for some commands
  Fix banchan for trunk stable builds
  Require lunch targets to be product-release-variant
2023-10-30 14:38:59 +00:00
Zhi Dou
0989dcd64c Merge "Revert "aconfig: cache flag value in generated java code"" into main 2023-10-30 14:00:07 +00:00
Zhi Dou
257f64347d Revert "aconfig: cache flag value in generated java code"
This reverts commit 3dea629a9e.

Reason for revert: b/308228560

Change-Id: I6511def2e53ab793c5fd78f65bea14eeebc5cdb2
2023-10-30 13:24:31 +00:00
Justin Yun
9222bcb9f0 Move vndk apex to the vendor partition for in-development builds
We may now install VNDK apex on vendor partition safely as product
modules no longer requires vndk libs.

Bug: 299867815
Bug: 307214977
Test: lunch cf_x86_64_phone-trunk_staging-userdebug; m
Change-Id: Ibc2391c326a392644e251d2938adedbdf8b23630
2023-10-30 16:51:31 +09:00
Justin Yun
b81aa10eba Merge "Remove ro.product.vndk.version property" into main 2023-10-30 05:01:44 +00:00
Treehugger Robot
8e403a4c60 Merge "math.mk supports larger number comparison" into main 2023-10-30 03:56:39 +00:00
Justin Yun
b2b556472c math.mk supports larger number comparison
To support 6-digit version format, extend the integer limit for
the comparison functions. It keeps the simple fast comparisons for
integers <= 100, but uses the extended functions for larger numbers.

Bug: 295269182
Test: make -f math.mk RUN_MATH_TESTS=true
Change-Id: Ib0752fbeb0a80796aeca663b0dc6bda0fd339440
2023-10-30 10:58:25 +09:00
Zhi Dou
da88660301 Merge "aconfig: cache flag value in generated java code" into main 2023-10-28 03:24:58 +00:00
Greg Kaiser
b6a0d39dad Set empty TARGET_RELEASE for some commands
The same commands where we're setting things like
TARGET_BUILD_VARIANT to be explicitly empty, we do the
same with TARGET_RELEASE.

Bug: 307946156
Test: 'lunch' with no arguments
Change-Id: If78eacd62725122d47829e2e9079b182fdafb9b4
2023-10-27 18:07:30 -06:00
Greg Kaiser
d35095e5f4 Fix banchan for trunk stable builds
In the trunk stable builds, we're required to have a
TARGET_RELEASE set.

For now, we hard-code this to "trunk_staging" (and leave a TODO
to accept this as a function argument).

This will have us producing valid builds in places like git_main.

Bug: 307946156
Test: None
Change-Id: Ie418aee2fad192a38beca44cd7d168e0e1b45689
2023-10-27 18:07:23 -06:00
Zhi Dou
3dea629a9e aconfig: cache flag value in generated java code
This change add cache in generated jave code to improve the performance.

The cache is a DeviceConfig.Properties. One Properties contains all
flag values from the given namesapce.

The Properties for a given namespace is initialized as null, and the
first call for any flags in that Properties will trigger the call to
fetch all the values. After the first call, the flag values are stored
in the Properties, so the following calls will directly get the value
from the Properties instead from the backup storage.

Test: atest aconfig.test.java
Bug: 307511846
Change-Id: Ic43626101c28099199b6faa419cf1945bd53b15d
2023-10-27 23:53:09 +00:00
Treehugger Robot
4fd3b11018 Merge "Remove emulator_x86_arm board from common boards" into main 2023-10-27 22:36:11 +00:00
Greg Kaiser
5e2d3399d3 Require lunch targets to be product-release-variant
Instead of supporting both product-variant and
product-release-variant, we now require the release
type to be given to use.

Bug: 307946156
Test: 'lunch aosp_mokey-userdebug' (now) fails; 'lunch aosp_mokey-trunk_staging-userdebug' (still) works
Change-Id: Ica87b3969f950a57232615f33bfe5f4012a743d6
2023-10-27 15:59:36 -06:00
Treehugger Robot
3006f169b5 Merge "Fix tapas for git_main builds" into main 2023-10-27 19:56:40 +00:00
Treehugger Robot
61f81a68d8 Merge "Make non-ab code path compatible with extracted target files" into main 2023-10-27 19:32:48 +00:00
Alfred Piccioni
bd523029a9 Remove emulator_x86_arm board from common boards
The board will now live in the Android TV vendor partition, since the
emulator team is no longer supporting 32-bit boards.

Bug: 305610937
Test: Null
Change-Id: Ia1afb35ad15eb991bb2451c160db4f853f016587
Merged-In: Ia1afb35ad15eb991bb2451c160db4f853f016587
2023-10-27 18:58:37 +00:00
Dave Mankoff
0e0c3dec70 Let aconfig protos be read by FlagFlipper
Bug: 307526764
Test: manually built
Change-Id: I689a15cc8c97a814df6f8e45bcf7f732d1693835
Merged-In: I689a15cc8c97a814df6f8e45bcf7f732d1693835
2023-10-27 18:43:50 +00:00
Kelvin Zhang
2ab6986dd9 Make non-ab code path compatible with extracted target files
Bug: 296485685
Test: ota_from_target_files -v -i non_ab.zip non_ab.zip ota.zip
Change-Id: I13ed54bfe7d14d2d1e87f45564da465a77bc2d1d
2023-10-27 11:01:27 -07:00
Treehugger Robot
a997e48000 Merge "De-duplicate kernel module names" into main 2023-10-26 19:02:38 +00:00
Greg Kaiser
83ed159cf7 Fix tapas for git_main builds
In the git_main trunk stable builds, we're required to have a
TARGET_RELEASE set.

For now, we hard-code this to "trunk_staging" (and leave a TODO
to accept this as a function argument).

This will have us producing valid builds under git_main.

Bug: 307975293
Test: 'tapas google-tradefed-all' now works on a tree that has go/aog/2806253
Change-Id: I70572fb4c7902350513e251694f3ddef91efcb13
2023-10-26 18:38:35 +00:00
Kelvin Zhang
57f23bf317 De-duplicate kernel module names
If BOARD_KERNEL_MODULES_16K contains duplicate kernel modules under
different directories, build will fail with 'multiple overriding
commands error' . To fix it, de-dup BOARD_KERNEL_MODULES_16K base on the
basename of kernel modules files.

Test: th
Change-Id: I45d850d5b3804c54b9ec0133d3a657c2db5adb17
2023-10-26 10:29:55 -07:00
Ted Bauer
6866204083 Merge "Revert "Do not generate aconfig_flags.textproto"" into main 2023-10-26 16:46:57 +00:00
Ted Bauer
49fbb31fcf Revert "Do not generate aconfig_flags.textproto"
This reverts commit 0ac5304598.

Reason for revert: unbreak FlagFlipper

Test: m
Change-Id: I3c00d97bcb39d50a54b46fb61eaa30e8fcb0c9a5
2023-10-26 10:59:34 -04:00
Wei Li
ee4ab5359d Generate SBOM of .kcm files in layoutlib.
Bug: 303905932
Test: CIs; m layoutlib dist
Change-Id: Iab35c44bdfff7ea82734a8efd37dfa005bae2664
2023-10-25 15:49:26 -07:00
Treehugger Robot
3d79e54ff1 Merge "Fix lunch choices for git_main" into main 2023-10-25 22:24:57 +00:00
Treehugger Robot
07f84b7b17 Merge "Use deterministic salt for AVB footer of prebuilt boot img" into main 2023-10-25 21:40:19 +00:00
Greg Kaiser
0fe27f448b Fix lunch choices for git_main
We add "trunk_staging-" for all COMMON_LUNCH_CHOICES so they are
valid in the trunk stable setup.

Bug: 307738446
Test: lunch
Change-Id: I7d56b288355d1335db5297ad9b5117054caf365b
2023-10-25 21:28:57 +00:00
Kelvin Zhang
160762a276 Use deterministic salt for AVB footer of prebuilt boot img
When target specified a prebuilt boot.img, current build system will add
avb hash footer to it with a random salt. Use a deterministic salt
instead for more reproducible builds. To stay consistent with
non-prebuilt boot.img code path, we extract the kernel image from
prebuilt boot.img and uses sha256sum of kernel image as the salt.

Test: th
Bug: 293313353
Change-Id: I988999ddc4f18e0b8677b05a3165c847b6a11b52
2023-10-25 13:28:11 -07:00
Greg Kaiser
6787354f96 Merge "Have default 'lunch' target use a release type" into main 2023-10-25 20:19:37 +00:00
Wei Li
b3731e0db2 Merge "Add key character maps to layoutlib dist files" into main 2023-10-25 17:35:40 +00:00