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
zucchini failure in OTA is observed. To unblock, disable
zucchini first. After the investigation are done and determined
zucchini is safe to enable, we will turn it back on.
Test: th
Bug: 342523982
Change-Id: I79c245356a356389328c788b3b7977b224e1df6a
Go 1.22 is more strict about GOPROXY=off, so we need to update the
go.work file to point at local copies of dependencies.
Bug: 330574836
Test: Presubmits
Change-Id: I37dbc821f138fe8977636316ebe3e7986ccdfa0e
Update storage read api to not find storage file location from a pb
file, instead directly read from /metadata copy. Previously for
package.map and flag.map, we are reading from the respective RO
partition. Now we are reading from /metadata/maps dir. This has a few
advantages:
1, early flag availability, since /metadata can be mounted much earlier
than mainline modules, so it would make mainline flags availabile even
before mainline modules are mounted.
2, we no longer need to read from a pb file to find where package.map
and flag.map are. Thus the read api can be further simplified and
downsized. With this change, we are able to shrink the cc flag read api
lib size from 171k to 120k.
Bug: b/321077378
Test atest -c
Change-Id: Ic9086fe4c49c139a4d1c66a8d472023a88c9dd17
When parsing API signature files, check-flagged-apis relies on
ClassItem.superClass to get the parent class of a class or interface.
That method always returns null for interfaces.
When generating api-versions.xml, metalava marks interface classes as
inheriting from java/lang/Object:
<class name="android/os/Parcelable" since="1">
<extends name="java/lang/Object"/>
[...]
</class>
This confuses check-flagged-apis when comparing data parsed from both
sources, as the symbol signatures will be identical, but the superclass
entries differ. Work around this by explicitly marking all interfaces
as inheriting from java/lang/Object when parsing API signature files.
Bug: 334870672
Test: atest --host check-flagged-apis-test
Change-Id: Icbb8f7d4c3d4232a083289a778b347e33a0856ab
With our version compatibility check, overriding our cow version no
longer works. Updating this check to only apply if a command line
vabc_cow_version is not specified.
NOTE: the ota may not successfully apply, depending on device if we
override the cow version
Test: th
Change-Id: Ibbed6cf94cc2e91597d0c249dc8ade314b8341a2
Framework already has nano protos, and reusing them won't
introduce extra dependencies for the apps
This is setting up the resources flagging in the framework
Bug: 297373084
Test: Built with related changes
Change-Id: I518bd56f56c42e0adef0002e95f8948e0904fb43
aconfig_device_paths uses `include_str!` to include a text file
containing comma-separated strings with each partition aconfig file.
The lib does not handle the escaped newlines and quotation marks.
Adds proper handling.
Test: cargo t && m -j120 && acloud create --local-image && adb shell aflags list
Bug: 340514768
Change-Id: I75214bf02dd962d8291f1654ade8cbce1cda9fde
If the Display interface is implemented the compiler will automatically
derive an implementation of ToString.
Test: m aflags
Bug: 333887339
Change-Id: I861a3065edbef0da1684a6ea28cc374acd0d774a
This reverts commit 681597df18.
retrofit OTA generation relies on files in OTA/* , include these
files when copying target_files dir to tmp location.
Test: th
Bug: 337043530
Fixes: 337043530
Change-Id: Id9bb1cddcf992556923a17fd3f9b5e41eac7ca96
retrofit OTA generation relies on files in OTA/* , include these
files when copying target_files dir to tmp location.
Test: th
Bug: 337043530
Fixes: 337043530
Change-Id: I8fd7729bc1b2d2797f7e76f594b06fd9675fa104
Consider
@FlaggedApi(FLAG_OUTER) Clazz {
@FlaggedApi(FLAG_INNER) method();
}
If FLAG_OUTER is disabled, any class members are ignored. Teach
check-flagged-apis to recognize this and stop reporting false positives.
Bug: 339183637
Test: atest --host check-flagged-apis-test
Change-Id: Ie6799e952dc33874c1239231f841d7dfd947c7ce