Add methods setFlag and resetAll in FeatureFlags in test mode. For the
injection usecase, user will use the interface FeatureFlags in the code
to control the flags.
Add tests for test mode.
Bug: 280833463
Test: Atest AconfigJavaHostTest --host
Change-Id: Ib59ba35a9011a6400af42fc9c283d37193577997
Before FeatureFlagsImpl will be used as a fake for testing. This change
adds new class FakeFeatureFlagsImpl. The FeatureFlagsImpl will keep the
same as production. FakeFeatureFlagsImpl can be used as fake for
testing.
FakeFeatureFlagsImpl, and FeatureFlagsImpl will be generated in both
test and prod mode. In test mode FeatureFlagsImpl will just be a stub,
and in prod mode FakeFeatureFlagsImpl will just be a stub.
Bug: 280833463
Test: atest aconfig.test
Change-Id: I11c1e716a9ea00d55600e5e9d5fb6442420762e6
Adding option to ota_from_target_files to configure compression level.
This option can be configured via the --vabc_compression_param flag.
e.g. --vabc_compression_param=gz,9 specifies gz compression algorithm
using level 9 compression
Test: ota_from_target_files
Change-Id: Ifc851faccbb3fba466d45c9695aaab322a362081
system_dlkm partition is related to GKI, so it should be
in the same category as boot image.
Test: merge_target_files \
--path otatools \
--framework-target-files framework-target_files.zip \
--vendor-target-files vendor-target_files.zip \
--output-target-files merged-target_files.zip
Bug: 294482075
Change-Id: Ie8f60d72f44d31e1bc3b556735b92ed0a2fda662
Previously, the "sdk" target was a minimal lunch target that only
included enough to build the sdk. But the "sdk_<arch>" targets
redirected to the "sdk_phone_<arch>" targets, which are much bigger
and capable of building a whole emulator.
Building the sdk on products that can build a whole device complicates
the rest of the build system (for example, it starts enforcing dexpropt
works)
Bug: 290798660
Test: m sdk dist sdk_repo device-tests platform_tests on sdk_x86_64-userdebug
Change-Id: I76f38cf19172a5f5fae423175d5e03670137a0df
Revert submission 2685589-revert-2651299-bazel_sandwich-TVXWOASJNU
Reason for revert: It was not the cause of b/293883239
Reverted changes: /q/submissionid:2685589-revert-2651299-bazel_sandwich-TVXWOASJNU
Change-Id: I98ca2be7490a4e38d35e4e640a0d027711b67030
Revert submission 2651299-bazel_sandwich
Reason for revert: b/293883239, checking if this breaks the build.
Reverted changes: /q/submissionid:2651299-bazel_sandwich
Change-Id: I40661772148434adf5fbec9568b4c303ff7eaf1c
Instead of checking, then copying the fragments into the out directory,
we pass in the output file and let assemble_vintf create the output
file.
Test: m
Bug: 290265210
Change-Id: I65c2ee826de73b805b48dc95f20c2405250587f8
This stamp file is an alias to request that the system staging directory
be built. The bazel sandwich cannot know the full list of files in the
staging directory at analysis time, so it will just depend on this
instead, and then find all the files in the staging dir at execution
time.
Bug: 265127181
Test: m bazel_sandwich
Change-Id: Iee3dff4f77c9e7054b4e8297e5d96b4ef8bf1cbb
Propagate anyhow errors to main.rs and commands.rs to improve the error
message. As an example. instead of just "bad flag declaration: exactly
one bug required", aconfig will now print the following.
---- 8< ----
Error: failed to create cache
Caused by:
0: failed to parse build/make/tools/aconfig/tests/test.aconfig
1: bad flag declaration: missing description
---- >8 ----
Error messages can be improved further by including additional
information in the protos.rs error cases. This will be handled in a
follow-up CL.
Bug: 290300657
Test: manual: introduce error in an aconfig file and run `m all_aconfig_declarations`
Test: atest aconfig.test
Change-Id: Id278f4877e5794b95913ae8ba0ca3ee211293f38
Some consumers of `aconfig dump` do not support multiple bugs. At the
same time, we want all flags to be associated with at least one bug.
Teach aconfig to require that the bug field in the flag_declaration and
parsed_flag proto messages appear exactly once.
This change could have been implemented as a change of `repeated` to
`optional` in the proto definition. However, the chosen approach, with a
runtime check, is easier to revert if we want to support multiple bugs
in the future.
Bug: 293156797
Test: m all_aconfig_declarations && printflags
Test: atest aconfig.test aconfig.test.java aconfig.test.cpp
Change-Id: Ib87dac68b392986a8daa64e56cd85477c92fbe83
For arm archs, PRODUCT_MAX_PAGE_SIZE_SUPPORTED values can be 4096, 16384, 65536.
For other archs, PRODUCT_MAX_PAGE_SIZE_SUPPORTED can only be 4096.
Note: The linker flag max-page-size is configured by PRODUCT_MAX_PAGE_SIZE_SUPPORTED flag.
Bug: 289419664
Test: source build/envsetup.sh
lunch aosp_cf_x86_64_phone
build/make/core/config.mk:448: error: TARGET_MAX_PAGE_SIZE_SUPPORTED=65536 is greater than 4096. Only supported in ARM arch.
source build/envsetup.sh
lunch aosp_raven_64-userdebug
Change-Id: I887d6f12835f1bea4c6b92d7d836440b8d3fd6a8
Check BOARD_AVB_$(call to-upper,$(partition))_KEY_PATH to decide whether custom_image should sign AVB or not. If key path isn't set, the custom image will be excluded from AVB and copied to /IMAGES in target-files directly. This allows vendor to use custom_images flow packing unsigned image.
And to every non-avb custom partition, one image whose name is partition name must be added in its BOARD_<CUSTOM_PARTITION>_IMAGE_LIST.
BOARD_CUSTOMIMAGES_PARTITION_LIST := tvconfig
BOARD_TVCONFIG_IMAGE_LIST := \
device/xxxx/yyyy/tvconfig.img \
device/xxxx/yyyy/tvconfig_custom1.img
Test:
1) Build image, target-files, OTA package by m and m dist
2) Sign images by sign_target_files_apk.py
Fix: 285227850
Change-Id: I7477dafe023e4b168f0f08fb7aedd9e511a60e1b
Soong is improving resource handling by not squashing resources from
all dependencies into every android_library. This causes problems
when the android_library is exported to Make, as Make is still using
the old squashing behavior.
Add a file to every static java library that lists the resource packages
of its transitive dependencies. For modules defined in Andorid.mk files
leave the file empty, but for Soong modules populate it with the list
of transtiive dependencies. Pass the contents all of the files from
direct dependencies to aapt2 link to include any transitive dependencies.
Bug: 284023594
Test: m Dialer
Change-Id: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
Merged-In: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf