Commit Graph

9503 Commits

Author SHA1 Message Date
Liana Kazanova
d7343203b6 Merge "Revert "Mark FeatureFlags impl member as final"" into main 2024-07-03 18:15:27 +00:00
Liana Kazanova
8450f57c3e Revert "Mark FeatureFlags impl member as final"
This reverts commit fca73bcad3.

Reason for revert: Droidmonitor triggered revert due to build breakage in b/350978649. Will be verifying through ABTD before submission.

Change-Id: I65de159518597289f1e0e3902080f35970842afc
2024-07-03 17:56:12 +00:00
Treehugger Robot
8d3b98e1ca Merge "Mark FeatureFlags impl member as final" into main 2024-07-03 15:52:13 +00:00
Jared Duke
1006bfbae3 Merge "Reuse Java flag name constants in FeatureFlagsImpl" into main 2024-07-03 14:53:29 +00:00
Michael Merg
83f0e74924 Merge "Add prober scripts for language services features" into main 2024-07-03 08:11:32 +00:00
Treehugger Robot
f959947939 Merge "Generate system diff between KATI and SOONG" into main 2024-07-03 04:48:21 +00:00
Jared Duke
1b6d14296e Reuse Java flag name constants in FeatureFlagsImpl
This may not matter in practice due to string inlining and interning,
but might avoid any accidental name drift/bugs in the future.

Bug: 280833463
Test: atest aconfig.test
Change-Id: I53b5b3effb577493ba708800928553c04b2fdc54
2024-07-02 22:51:05 +00:00
Michael Merg
d8a48c794a Add prober scripts for language services features
Change-Id: I8c4a39a575f7977c524cfd450cf952b20c8c2c11
2024-07-02 19:32:38 +00:00
Kiyoung Kim
8376b32e42 Generate system diff between KATI and SOONG
There is an effort to generate system image with Soong, but there are
some difference in installed files between Soong defined system image
and KATI defined one. This change generates diffs between installed
files from two sources.

Bug: 346873717
Test: USE_SOONG_DEFINED_SYSTEM_IMAGE=true m -j on aosp_cf_x86_64
generated diff file.

Change-Id: I25c71f88d16a4efb873c21abe70ca9c41c6423ca
Merged-In: I25c71f88d16a4efb873c21abe70ca9c41c6423ca
2024-07-02 02:22:51 +00:00
Ivan Lozano
16266625cc Remove allow-multiple-definitions flag.
This is no longer necessary as static linkage in Rust has been fixed.

Bug: 254469782
Test: m aconfig_storage_write_api.test.cpp
Change-Id: I6b8b36882aa521eb0412fb7da03a5eec94df81d4
2024-07-01 18:28:32 +00:00
Ivan Lozano
4ed15ef2fb Merge "Replace static_rlibs usage." into main 2024-06-28 14:44:49 +00:00
Treehugger Robot
6b8d925c91 Merge "Fix bug in ota_from_raw_img when generating multiple images" into main 2024-06-27 01:17:10 +00:00
Jared Duke
fca73bcad3 Mark FeatureFlags impl member as final
Marking the member as final for non-test scenarios allows for
optimizations that may otherwise be unavailable, and avoids ambiguity
about mutability.

Bug: 280833463
Test: atest aconfig.test
Change-Id: Ia58a04c9a57ee06d68f4dd022ace5365c65f4cf5
2024-06-26 23:08:16 +00:00
Kelvin Zhang
9ef8a02782 Fix bug in ota_from_raw_img when generating multiple images
Python argparse support for multiple arguments per flag is limited,
so we need to manually do parsing here(split by ",")

Test: generate a boot image OTA with boot and dtbo partition
Bug: 349590107
Change-Id: Ia9f7e0ab0836bddf15591a74b17a667e63080373
2024-06-26 10:15:33 -07:00
Ivan Lozano
b6288a526e Replace static_rlibs usage.
static_rlibs has been folded into the normal static_libs and
whole_static_libs properties.

Bug: 254469782
Bug: 349129702
Test: m
Change-Id: I89d260f78947c3e0fe65148177c7f98d0d0c504d
2024-06-26 01:36:26 +00:00
Treehugger Robot
f8b7517b02 Merge "Switch to static_rlibs" into main 2024-06-25 21:57:39 +00:00
Ted Bauer
b64fdac839 Switch to static_rlibs
When a dependency takes multiple rust_ffi_static dependencies in its
static_libs, their symbols collide. Switch to static_rlibs, which
resolves the collisions. See b/349129702 for context.

Bug: 349129702
Test: m
Change-Id: I6cd2fe92629c7d44e22d113795b340e06175f008
2024-06-25 17:21:40 +00:00
Zhi Dou
436f1368cd flush mmap file to disk after updating
The change was applied in the file in memory. Without explicitly calling
msync, there is no guarantee that the changes are written back to disk.
Thus the flag value may not be changed.

Bug: b/348693143
Test: atest aconfig_storage_write_api.test.cpp
aconfig_storage_write_api.test.rust

Change-Id: I8b1e0cbbb90bcb3c2e5bbf418a6a1a9cd047c81b
2024-06-24 21:14:52 +00:00
Jooyung Han
972804b81e Fix a bug in the releasetools common.py script.
The script was not breaking out of the loop when a handler was found, which could lead to multiple handlers being called for the same option.

This fixes the issue that a single option can be handled in two handlers.

Bug: 345402175
Test: sign_target_files_apks -k ..
Change-Id: I9f4ef801df99a4a0f2ba5be994b3f37fbedc22c0
2024-06-21 22:42:48 +00:00
Zhuoyao Zhang
d067588a26 Support uploading host_name info in the tool event logger
host_name info is useful in several use cases including
1) to distinguish the concurrent tool invocations from the same user.
2) to understand the potential different performance from different hosts (e.g. local workstation VS cloudtop).
3) required to integrate the tool event log with the EPR system.

Test: atest tool_event_logger_test
Bug: 348482213

Change-Id: I98422b3f8ccec73d57fcdcdedac91780c448dc47
2024-06-21 21:03:03 +00:00
Jakub Czapiga
9de3473305 Merge "Drop legacy vboot support." into main 2024-06-19 07:32:35 +00:00
Treehugger Robot
8715d314e6 Merge "Support license information in SBOM writers library." into main 2024-06-18 20:41:52 +00:00
Wei Li
c6b4046787 Support license information in SBOM writers library.
Bug: 324465531
Test: CIs
Test: atest --host sbom_data_test sbom_writers_test
Test: build/soong/tests/sbom_test.sh
Change-Id: Iac2be2e65f308caabb11237e72dbdc6b047cfd55
2024-06-18 12:34:30 -07:00
Jakub Czapiga
31f6e08fc9 Drop legacy vboot support.
Bug: 291329969
Bug: 347885843
Bug: 347899892
Test: m
Test: CIs
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5071b95a067c9392b7bfa4d95957307ff0ccdcc3)
Merged-In: I5f30f63553cc2670650897e259ba51baf8ced05d
Change-Id: I5f30f63553cc2670650897e259ba51baf8ced05d
2024-06-18 15:40:14 +00:00
Treehugger Robot
bb4e87008f Merge "aflags: Ensure <partition>/aconfig_flags.pb exists before reading" into main 2024-06-18 15:27:36 +00:00
Luca Stefani
bc962db1ea aflags: Ensure <partition>/aconfig_flags.pb exists before reading
In some build targets/combinations aconfig_flags.pb
may not be generated.

For example in GSI only system/aconfig_flags.pb exists
and system-only updates won't have vendor/aconfig_flags.pb.

Test: m, aflags
Change-Id: I136345a8748bc6d80bd98e673f90e0a2ab380ab1
2024-06-18 06:59:52 +00:00
Ted Bauer
6e11172c6b Add defaults target for shared linking
Add a defaults target that all targets linking to aconfig codegen with
the new storage API dependencies will need. The target takes the new
storage APIs conditionally behind a flag, so we can disable it easily.

In this topic, we add it to a single target to see that it builds and
adds the dependency. In follow-on CLs we can add it to the rest of the
targets.

Test: m audiopolicy_tests
Bug: 347701310
Change-Id: I67643205b283301f72c5466401060212b637388f
Merged-In: I67643205b283301f72c5466401060212b637388f
2024-06-17 21:16:51 +00:00
Xin Li
3ab9f3fdb9 Merge "Merge Android 14 QPR3 to AOSP main" into main 2024-06-17 18:51:26 +00:00
Ted Bauer
5223a70887 Add root check to aflags
aflags scans the apex/ dir, which requires root access to read.
Currently the command fails with "Error: Permission denied", which
doesn't tell the user how to fix the problem. This CL adds a more
descriptive error message.

Test: adb unroot && adb shell aflags list
Bug: 347692127
Change-Id: I98a7a1ba10ef52ec47035816fa66119ea84f281d
2024-06-17 15:25:02 +00:00
Steven Moreland
cffced3727 zipalign: succesful -> successful
Bugs: me
Change-Id: I6cc866b3d8765ed6ef553f2de80bba995bdbc095
Test: n/a
2024-06-11 17:07:44 +00:00
Mårten Kongstad
21d8395879 Merge changes from topic "check-flagged-apis-list-subcommand" into main am: ac9a2abad8
Original change: https://android-review.googlesource.com/c/platform/build/+/3121994

Change-Id: I42b6876b78e9369280b2737b82c5d04233faff77
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-11 12:51:22 +00:00
Mårten Kongstad
1692a36da7 check-flagged-apis: add list subcommand
Add a new subcommand to list all flagged APIs and corresponding flags.
This provides an overview of what flagged APIs exist in the Android
tree.

Bug: 345207706
Test: build/tools/check-flagged-apis/check-flagged-apis.sh list
Test: atest check-flagged-apis-test
Flag: EXEMPT host side tool
Change-Id: Icc224f3787480353baabbd3946f36f003f35db59
2024-06-11 13:11:28 +02:00
Mårten Kongstad
576e818880 check-flagged-apis: extract argument names into constants
Extract the command line argument names (and help texts) into constants.
This will allow future subcommands to re-use the same names and keep
things consistent.

Bug: 345207706
Test: atest check-flagged-apis-test
Flag: EXEMPT host side tool
Change-Id: I430f36c99f28aab8511a357f572086ee238d653b
2024-06-10 16:26:17 +02:00
Mårten Kongstad
d5ce20fc07 check-flagged-apis: add support for subcommands
The tool currently only supports a single subcommand, the "check"
command. Follow-up CLs will add new subcommands.

Bug: 345207706
Test: build/tools/check-flagged-apis/check-flagged-apis.sh
Flag: EXEMPT host side tool
Change-Id: I1aaaf313db8a10a7427aab378aac8d946d5a8a3d
2024-06-10 16:26:16 +02:00
Treehugger Robot
edbd06d8a4 Merge "aconfig: update java read api for performance" into main am: 910ad04d2f
Original change: https://android-review.googlesource.com/c/platform/build/+/3112419

Change-Id: I44714409822a6a37244b417e28c9993b37ad3a98
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-04 23:33:50 +00:00
Treehugger Robot
910ad04d2f Merge "aconfig: update java read api for performance" into main 2024-06-04 23:29:18 +00:00
Joe Onorato
070808646e Merge "Add new simplified lunch function (lunch2)" into main am: fc19715ebf
Original change: https://android-review.googlesource.com/c/platform/build/+/3101473

Change-Id: I1f41c20816e37c542468fc32da3bde4d2f380d38
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-04 23:26:13 +00:00
Joe Onorato
590ae9f785 Add new simplified lunch function (lunch2)
Includes tests for envsetup.sh

After we've tried this for a bit and are happy, this will be swapped out
to become the new standard lunch and all of the menus and stuff will be
removed.

Test: build/make/tools/envsetup/run_envsetup_tests
Change-Id: Idebeeb1153406238b6c32f3f564c7bc1e7ced7e6
2024-06-04 16:04:49 -07:00
Treehugger Robot
9830e817d6 Merge "Reland "check_elf_file: check prebuilts are aligned"" into main am: 69e8c9be5f
Original change: https://android-review.googlesource.com/c/platform/build/+/3110301

Change-Id: I53a7274547eb1731191a5ea4690d4627926f9e13
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-04 21:47:36 +00:00
Steven Moreland
52c2371ae8 Reland "check_elf_file: check prebuilts are aligned"
This reverts commit 411fb17537.

Reason for revert: reland after other targets are fixed b/342466032

Bug: 342466032
Test: build, w/ and w/o checking enabled

Change-Id: I830166faffec781cf6cc4fea47140a60b0a12466
2024-06-04 17:26:12 +00:00
Dennis Shen
a8e28dfe87 aconfig: update java read api for performance
With this update, cold flag read (first flag in a namespace) is now 6x
faster compared to device config.

Bug: b/321077378
Test: atest -c
Change-Id: I52ffd897fdd487b2a44d07be50f2975f0ef5b9b3
2024-06-04 17:24:53 +00:00
Priyanka Advani
9b6857d6f8 Merge "Revert "check_elf_file: check prebuilts are aligned"" into main am: 8d5b8c1f98
Original change: https://android-review.googlesource.com/c/platform/build/+/3110411

Change-Id: I25ab04d528185a17f3f82b089b1292a97a9d65fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 22:37:38 +00:00
Priyanka Advani
8d5b8c1f98 Merge "Revert "check_elf_file: check prebuilts are aligned"" into main 2024-05-31 22:27:08 +00:00
Priyanka Advani
411fb17537 Revert "check_elf_file: check prebuilts are aligned"
This reverts commit 432bd660dc.

Reason for revert: Droidmonitor created revert due to breakage in b/344033120

Change-Id: I40f3e1becf3e7d944fdc868bd4000d7602db1d15
2024-05-31 22:14:22 +00:00
Steven Moreland
b716e006ed Merge "check_elf_file: check prebuilts are aligned" into main am: 26bb2346de
Original change: https://android-review.googlesource.com/c/platform/build/+/3101471

Change-Id: I29118e75b78ccfbfcc1b69640d0f2078804e21d0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 22:11:13 +00:00
Steven Moreland
26bb2346de Merge "check_elf_file: check prebuilts are aligned" into main 2024-05-31 22:02:55 +00:00
Dennis Shen
845de05ab4 Merge "aconfig: create first implementation of aconfig storage java read api" into main am: ca6602821b
Original change: https://android-review.googlesource.com/c/platform/build/+/3106837

Change-Id: I9c8280841afb2153c7e716ceea4947026744129a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 22:36:10 +00:00
Steven Moreland
432bd660dc check_elf_file: check prebuilts are aligned
WARNING: two things still need to be done
1. this should probably only be enabled when PAGE_SIZE
   is undefined, but I'm curious what other targets
   break now.
2. we may need a per-prebuilt way to disable this,
   like some of the other settings here.

For prebuilts added onto a device, we can check the
page alignment matches the one declared in the build
configuration.

Bug: 342466032
Test: manually, by changing the script to require 64 KB
  alignment, I was able to see its errors on new targets.
Change-Id: Ic118245e64d67204bf5fa740a3e1afb7325b34f5
2024-05-30 17:31:08 +00:00
Dennis Shen
e5dd91bca7 aconfig: create first implementation of aconfig storage java read api
1, See AconfigStorageReadAPI.java to see java APIs to map storage files
and read flag values. It is using fast native annotation, in theory it
should be faster than regular JNI without much of the overhead.

2, The java api calls into Rust wrapper in srcs/lib.rs, note that
MappedByteBuffer is not copied during JNI. In the rust side
implementation we get the underlying raw pointer and buffer size and
reconstruct a rust slice. However, at current implmentation, the string
input such as package name and flag name are most likely copied. They
are converted from JStirng to JavaStr first without copy, then the
into() call to convert it to Rust string. We could potentially optimize
it to without copy.

3, Add an android_test target to lock down the API behaviors.

Bug: b/321077378
Test: atest -c
Change-Id: I8915fe70e8eb341be563c70f85e19e644e8aa6be
2024-05-30 00:32:42 +00:00
Xin Li
2389748ddb Merge "Merge Android 24Q2 Release (ab/11526283) to aosp-main-future" into aosp-main-future 2024-05-24 21:16:16 +00:00