Commit graph

85043 commits

Author SHA1 Message Date
Treehugger Robot
9d9e540cc5 Merge "Fix usage message." am: fb8c86513e
Original change: https://android-review.googlesource.com/c/platform/build/+/2625356

Change-Id: I7b1b9db8ded7ae73aa94152c66032aebffaa2186
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 19:53:45 +00:00
Treehugger Robot
6df5275646 Merge "Fix godoc typos." am: d999938ab0
Original change: https://android-review.googlesource.com/c/platform/build/+/2628611

Change-Id: I7a4b16d885e777143143d8beeffea38ddd77b6e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 19:53:30 +00:00
Treehugger Robot
fb8c86513e Merge "Fix usage message." 2023-06-19 19:20:15 +00:00
Jiakai Zhang
96b155c018 Add an entry in METADATA.txt to determine whether to use the CMC GC.
If the device uses the CMC GC, the file will contain:
extra-args = --runtime-arg -Xgc:CMC

Otherwise, the file will contain an empty line:
extra-args =

Bug: 287652269
Test: -
  1. m dist out/dist/boot.zip
  2. unzip -p out/dist/boot.zip METADATA.txt
Change-Id: I3d50367eb2a341e1c03286d7a2cd7ed44d59708f
2023-06-19 20:20:05 +01:00
Treehugger Robot
d999938ab0 Merge "Fix godoc typos." 2023-06-19 19:10:47 +00:00
Mårten Kongstad
a2e5ab82c7 aconfig: make proto fields optional
Change all required proto fields to optional. While the proto file is
supposed to be a backwards compatible API, and fields are not supposed
to be deprecated, this commit will allow for that option if needed.

Implementation wise this change doesn't matter much: any parsed data
needs additional verification outside what the protobuf crate's parser
provides anyway, so adding checks to verify that all required fields,
even though marked optional in the proto file, were found is a minor
increase in code complexity.

If in the future a proto field should no longer be used:

  - keep the field in the proto, still marked optional and clearly
    document that it is no longer in use
  - change protos.rs from checking struct.has_field() to explicitly
    dropping any value via struct.clear_field()

Bug: 286337317
Test: atest aconfig.test
Change-Id: Iad1ccfe50ecac286ff7a796aec909bec70b9520d
2023-06-19 16:53:22 +02:00
Mårten Kongstad
a2e152a139 aconfig: generate Java flag name constants
Generate Java constants for use in @FlaggedApi(flag = ...).

Also update the generated Java code to use the constants when reaching
out to DeviceConfig instead of hard-coding (duplicate) strings.

Bug: 285288440
Test: atest aconfig.test aconfig.test.java
Change-Id: I1127cacba650cc7a7896b1533e03631d7f5ec71b
2023-06-19 16:12:01 +02:00
Mårten Kongstad
403658f9cb aconfig: use proto struct directly
Remove the hand-crafted wrappers around the structures auto-generated
from protos/aconfig.proto, and use the auto-generated structs directly
intead. This gets rid of a lot of manual repetition, and its inherent
risk.

Also unify how individual fields read from text proto are verified (e.g.
is the flag.name field a valid identifier).

Also change the intermediate cache format from JSON to binary protobuf.

The concept of a 'cache' as an intermediate internal format to represent
parsed input stays. The command line interface still refers to caches.
At the moment a cache file is identical to a parsed_file protbuf, and
the code exploits this internally.

A couple of points regarding the auto-generated structs:

  - Vectors are named in the singular (e.g. parsed_flags.parsed_flag is
    a Vec<ProtoParsedFlag>) because this improves ergonomics for all
    devs working with aconfig input files

  - The auto-generated structs have fields that are of type Option<T>
    and convenience methods (named the same as the fields) to access T

Test: atest aconfig.test aconfig.test.java
Bug: 283910447
Change-Id: I512820cc4bc6c543dea9f6a4356f863120a10be3
2023-06-19 16:04:32 +02:00
Treehugger Robot
36e4f3fb37 Merge changes from topic "aconfig-prepare-for-proto-structs" am: a99ac90eb5
Original change: https://android-review.googlesource.com/c/platform/build/+/2628050

Change-Id: I11dc893158f85eb104ac8085714079c5ca3ad6ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 11:28:46 +00:00
Treehugger Robot
a99ac90eb5 Merge changes from topic "aconfig-prepare-for-proto-structs"
* changes:
  aconfig: fix incorrect source path in test cache
  aconfig: reduce number of #[cfg(feature = "cargo")] uses
2023-06-19 10:43:34 +00:00
Treehugger Robot
0e3d0523bf Merge "Move ro.apex.updatable to the system partition" am: 770bfc34e3
Original change: https://android-review.googlesource.com/c/platform/build/+/2627769

Change-Id: I23bcbd5565fb5eda0848b6d5fac0f95a6642c22f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 09:16:55 +00:00
Treehugger Robot
770bfc34e3 Merge "Move ro.apex.updatable to the system partition" 2023-06-19 08:30:52 +00:00
Treehugger Robot
5c3a34b358 Merge "Handle zip64 extra fields better" am: 57c1aa7b16
Original change: https://android-review.googlesource.com/c/platform/build/+/2628431

Change-Id: Ieefcc8ee08c2d91f447fc5209967d43db7454c75
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-17 23:04:21 +00:00
Treehugger Robot
57c1aa7b16 Merge "Handle zip64 extra fields better" 2023-06-17 22:12:26 +00:00
Kelvin Zhang
1e774245a4 Handle zip64 extra fields better
Test: check_target_files_signatures
Bug: 283033491
Change-Id: I7da89f8389c09cc99201cff342483c158bd7e9c1
2023-06-17 09:21:46 -07:00
Wei Li
d263695cd4 Include static libraries information in Android SBOM.
Bug: 280852724
Test: CIs
Test: lunch aosp_cf_x86_64_phone-userdebug && m sbom
Change-Id: Ie2365d79ba24910b7ace132b578589be10a17d78
2023-06-16 23:02:09 -07:00
Treehugger Robot
251eac36ab Merge "Use patch instead of git apply." am: 0d2d11bc00
Original change: https://android-review.googlesource.com/c/platform/build/+/2627735

Change-Id: Ia63a8d9eb8877d763bcfee18beedba41d775c481
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-17 02:49:12 +00:00
Treehugger Robot
0d2d11bc00 Merge "Use patch instead of git apply." 2023-06-17 01:56:52 +00:00
Treehugger Robot
bec4ce710f Merge "aconfig: change java flag method name to camelCase" am: 59d662524c
Original change: https://android-review.googlesource.com/c/platform/build/+/2626776

Change-Id: I7d5747d6a4a33f6b49e2c13f06bf539c71c324ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 22:41:03 +00:00
Treehugger Robot
59d662524c Merge "aconfig: change java flag method name to camelCase" 2023-06-16 21:49:22 +00:00
Gabriel Biren
fdcf16f55c Add rule to convert WIFI_FEATURE_IMU_DETECTION
to the equivalent soong variable.

Bug: 287607876
Test: Manual test - add a log message to wifi_ext that
       only prints if the proper flag is enabled.
       Check whether the log is displayed, both before
       and after this change.
Change-Id: Id9bfc81384384b915e9772a2016a9843a57897db
2023-06-16 21:11:10 +00:00
Alex Buynytskyy
bce1a51df8 Use patch instead of git apply.
Bug: 281682520
Test: run locally
Change-Id: Ia84055b7a9074836c6d7b3039ba980e39043a41e
2023-06-16 20:23:36 +00:00
Zhi Dou
af81e20653 aconfig: change java flag method name to camelCase
Before java code will directly use the flag name as the method name.
This change adds funciton to try the best to convert flag name to
camelCase, and then use the camelCase string as the method name in the
generated code.

Bug: 279483816
Test: atest aconfig.test aconfig.test.java
Change-Id: I45fc6df46c9d535cd38a657a41313202f9b660af
2023-06-16 12:40:40 +00:00
Jooyung Han
4941f6fd47 Merge "Remove --blkid_path argument" am: e4635b3e04
Original change: https://android-review.googlesource.com/c/platform/build/+/2624574

Change-Id: Icb064093d587479713e7da5bd670d4cb36f977a3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 07:30:28 +00:00
Jooyung Han
e4635b3e04 Merge "Remove --blkid_path argument" 2023-06-16 06:48:57 +00:00
Justin Yun
514a12d7af Merge "Use map_file_generator only for the supported file systems" am: cf92cdff7c
Original change: https://android-review.googlesource.com/c/platform/build/+/2627751

Change-Id: I968de85f8e094ec73d7247275ad9c374ddda009b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-16 00:31:08 +00:00
Justin Yun
cf92cdff7c Merge "Use map_file_generator only for the supported file systems" 2023-06-15 23:54:29 +00:00
Bob Badour
a0b53ceac2 Fix godoc typos.
Methods got renamed, but the godoc didn't.

Test: m droid dist
Change-Id: Ia1181a2c7a876e54b8cd26ba1c91ce731ba8ac96
2023-06-15 16:26:21 -07:00
Treehugger Robot
8ac8ce2b16 Merge changes I9c1a5346,I0a9d2c58 am: 5c73eb33db
Original change: https://android-review.googlesource.com/c/platform/build/+/2627031

Change-Id: Ied665b5cbd2d1b207c184458eef0ef49259df129
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 16:36:23 +00:00
Treehugger Robot
5c73eb33db Merge changes I9c1a5346,I0a9d2c58
* changes:
  Fix python3.11's support for zip64
  Search for partition maps in IMAGES dir as well
2023-06-15 15:56:57 +00:00
Justin Yun
a8a5a3ff62 Use map_file_generator only for the supported file systems
map_file_generator can generate map files from erofs and ext# file
systems. Check the file system type and copy images and generate map
files if supported. Otherwise skip these steps.
If the image files are not copied, add_img_to_target_files will
generate the image files and map files.

Bug: 286870582
Test: lunch bertha_x86_64-userdebug && m dist
Change-Id: Ib92dd989cf61b1e376107a507eae9222ceb1d0d4
2023-06-16 00:10:33 +09:00
Mårten Kongstad
0cd8092376 aconfig: fix incorrect source path in test cache
Bug: 283910447
Test: atest aconfig.test
Change-Id: I9bc34e838a0945891f866e9788bcf9f4f6c23d3b
2023-06-15 11:43:33 +02:00
Mårten Kongstad
f94225266f aconfig: reduce number of #[cfg(feature = "cargo")] uses
Group statements with identical #[cfg(feature = "cargo")] attributes in
the same block. This reduces repetition and makes the code easier to
read and less error prone.

Bug: 284779868
Test: atest aconfig.test
Change-Id: Iebdcd20e7cd22cb641424a1af594f5c9ac57b623
2023-06-15 09:28:49 +02:00
Treehugger Robot
bb4fddb723 Merge "Update LLNDK list" am: 1cda03b44b
Original change: https://android-review.googlesource.com/c/platform/build/+/2623809

Change-Id: I66514a5e139d4686e4f7127a42b1c75c11b529af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 06:31:39 +00:00
Treehugger Robot
1cda03b44b Merge "Update LLNDK list" 2023-06-15 04:26:43 +00:00
Jiyong Park
36fc9a32d7 Move ro.apex.updatable to the system partition
The decision to support updatable APEX or not used to be SoC-specific
because updatable APEX (aka non-flattened APEX) requires some kernel
feature support like loopback device. Kernel was considered as part of
BSP then. Therefore, ro.apex.updatable property was in the vendor
partition.

However, with GKI, kernel is no longer SoC-specific. And most APEXes are
installed to the system partition, which means that the decision affects
how the system partition is built. Thus, this CL moves the property to
the system partition. This enables some partners who have been using
flattened APEX to be able to upgrade to non-flattened APEX without
having to upgrade the vendor partition.

Bug: 281007951
Test: check system/build.prop
Change-Id: I81874076862f6047b9daa14518b95adcb5275064
2023-06-15 13:20:38 +09:00
Kelvin Zhang
38d0c373ac Fix python3.11's support for zip64
Bug: 283033491
Test: check_target_files_signatures -v -l
Change-Id: I9c1a5346e3a5f3920242dc9a5268d999f50a4937
2023-06-14 12:54:57 -07:00
Treehugger Robot
8e448f3c53 Merge "Allow map_file_generator to use host tools" am: 4b47e8a2f3
Original change: https://android-review.googlesource.com/c/platform/build/+/2624300

Change-Id: Ic68b479538759e5ab5a6de21ced4e9cc5537669e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 17:01:39 +00:00
Kelvin Zhang
b789e84499 Search for partition maps in IMAGES dir as well
Partition images are allowed to be in either IMAGES/ or RADIO/ dir of a
target_files zip, so when searching for .map files we should look in
both dirs.

Test: th
Bug: 227848550
Change-Id: I0a9d2c582d8f5d570237434902fac012513c9aad
2023-06-14 10:01:21 -07:00
Treehugger Robot
4b47e8a2f3 Merge "Allow map_file_generator to use host tools" 2023-06-14 16:25:26 +00:00
Bob Badour
5a3e4a439a Fix usage message.
Incorrectly had an old dumpresolutions usage.

Test: m droid dist

Change-Id: Icf1a8ef99978c1287d88aae953e4a23f310f900a
2023-06-14 08:05:31 -07:00
Zhi Dou
678166cbdb Merge "aconfig: Java codegen iteration 1" am: 06377d79ab
Original change: https://android-review.googlesource.com/c/platform/build/+/2619534

Change-Id: I3ef56bcda7625dcaf70abb937b1b6503b4e7333d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 14:02:19 +00:00
Zhi Dou
06377d79ab Merge "aconfig: Java codegen iteration 1" 2023-06-14 13:21:16 +00:00
Jooyung Han
629490292a Remove --blkid_path argument
deapexer doesn't need it.

Bug: 279858383
Test: presubmit
Change-Id: If0ec42b5edd4642f07c96ba641030c4dd6fb4660
2023-06-14 15:16:34 +09:00
Treehugger Robot
ec810624c2 Merge "Move MTE mode settings to a product variable." am: c37e824f56
Original change: https://android-review.googlesource.com/c/platform/build/+/2622658

Change-Id: I8dbb33a6f23421e43f27cb54aa88f39f4dab8e36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 02:33:07 +00:00
Treehugger Robot
c37e824f56 Merge "Move MTE mode settings to a product variable." 2023-06-14 01:42:22 +00:00
Kelvin Zhang
0eba102f19 Allow map_file_generator to use host tools
map_file_generator need to invoke binaries such as `unsquashfs` .
These binaries are built from android source tree, so add host binary
output directory to PATH variable so that map_file_generator can use
these binaries.

Test: th
Bug: 286870582
Change-Id: I56634293ee885fc4612627578a22cdf57bc13bfc
2023-06-13 18:24:15 -07:00
Treehugger Robot
e6d7954914 Merge "aconfig: reject consecutive underscores in identifiers" am: c01b9a2877
Original change: https://android-review.googlesource.com/c/platform/build/+/2624469

Change-Id: I08a32db9a755df12a8a6744a8843dacc9dc74607
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-13 22:40:50 +00:00
Treehugger Robot
c01b9a2877 Merge "aconfig: reject consecutive underscores in identifiers" 2023-06-13 22:05:56 +00:00
Yabin Cui
f1b88bb0a9 Replace libc++.so.1 with libc++.so
After clang update (with aosp/2590665), clang prebuilts now depend on libc++.so
instead of libc++.so.1.

Bug: 287115146
Test: presubmit
Change-Id: If2fc9411e7eb5542896f3cdce9adea786451ddbc
2023-06-13 21:55:38 +00:00