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
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
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
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
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
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
static_rlibs has been folded into the normal static_libs and
whole_static_libs properties.
Bug: 254469782
Bug: 349129702
Test: m
Change-Id: I89d260f78947c3e0fe65148177c7f98d0d0c504d
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
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
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
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
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
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
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
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
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
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
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
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
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
This reverts commit 432bd660dc.
Reason for revert: Droidmonitor created revert due to breakage in b/344033120
Change-Id: I40f3e1becf3e7d944fdc868bd4000d7602db1d15
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
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