Commit graph

96630 commits

Author SHA1 Message Date
Michael Merg
d8880abbdf Write ide_qeury results to stdout
All other output will be written to stderr.

Change-Id: Iefbd8292bb136e4723d5c168e4508ae183585c7c
2024-03-20 11:06:17 +00:00
Luca Farsi
2dc1701741 Remove extra test targets from inside build script
Due to branch constraints, remove the extra targets defined inside the
build script and revert to having them be passed in via command line.

Test: ./build/make/ci/build_test_suites_x86_64-trunk_staging --target_product aosp_x86_64 --target_release trunk_staging --with_dexpreopt_boot_img_and_system_server_only <extra_targets>
Bug: 314171817
Change-Id: I89a82e969d294104f587d778ad319a41905320f8
2024-03-19 17:24:40 -07:00
Daniel Zheng
6d5a509efa Merge "create_brick_ota: fix nonetype bug" into main 2024-03-19 19:29:49 +00:00
Daniel Zheng
0b7a685573 create_brick_ota: fix nonetype bug
If devkeys are present, we don't need to specify a serialno. In this
case we should conditionally add serial no to our metadata

Test: create_brick_ota
Change-Id: I9c93aa0f9ec5752693a9ddde5b76be4c12d6fc3b
2024-03-19 12:29:13 -07:00
Luca Farsi
b0dfb70381 Merge "Change the build test suites script to be noop" into main 2024-03-19 00:25:03 +00:00
Luca Farsi
11767d5dca Change the build test suites script to be noop
In preparation of switching over the git_main test suites target to
using this script change it to a no-op first to insure there's no
initial impact.

Test: ./build/make/ci/build_test_suites-trunk_staging --target_product aosp_x86_64 --target_release trunk_staging --with_dexpreopt_boot_img_and_system_server_only
Bug: 314171817
Change-Id: I7afab933143e4b617866b1975b1cbc71107f5b2f
2024-03-18 14:19:01 -07:00
Alexander Koskovich
d65b625cc5 Allow installing fake [odm|product|system_ext] packages
This is required to use the install_symlink module on these
partitions.

Test: Create install_symlink module on /system_ext
Change-Id: I78e93c5df12bae8fc23b378a30d43bf6c0b67d53
2024-03-18 15:38:18 -04:00
Treehugger Robot
afac5b33ac Merge "Allow duplicate release config maps and build flag declarations" into main 2024-03-18 15:30:29 +00:00
LaMont Jones
451abd6a06 Allow duplicate release config maps and build flag declarations
Only include a release_config_map.mk file the first time it appears in
the list.

If the flag declaration is identical to one already declared, do not
raise an error.

This eases the process of migrating where flags are declared.

Bug: b/328781415
Bug: b/328495189
Test: manual, TH
Change-Id: I18316e769438f62071723771762d6e89be98b813
Merged-In: I18316e769438f62071723771762d6e89be98b813
2024-03-18 07:43:04 -07:00
Kiyoung Kim
d826a2355d Merge "Remove reference to VNDK current APEX" into main 2024-03-18 11:40:52 +00:00
Kadir Çetinkaya
f6e76b6566 Merge "Make sure ninja keeps going after errors" into main 2024-03-18 07:36:16 +00:00
Kiyoung Kim
fec5986a8c Remove reference to VNDK current APEX
VNDK Current APEX is being removed because VNDK is deprecated with
202404 and VNDK current APEX is no more available. This change removes a
reference to the VNDK current APEX so it won't look for removed module.

Bug: 328994089
Test: AOSP CF build succeeded
Change-Id: Id3c65b1e9a403847f43d2fa344c832ae43c2051d
2024-03-18 15:36:10 +09:00
Treehugger Robot
9ba9e0a71e Merge "Move frameworks/base/Android.mk to build/core" into main 2024-03-18 03:21:47 +00:00
Jeongik Cha
784f2a899c Merge "Use soong modules for init.*.rc" into main 2024-03-18 01:25:16 +00:00
Treehugger Robot
7665dbccdb Merge "Disable WITHOUT_CHECK_API for SDK products" into main 2024-03-15 20:28:51 +00:00
Cole Faust
b5f63e65d7 Merge "Add staging dir stamp files for all partitions" into main 2024-03-15 17:34:26 +00:00
Treehugger Robot
6c63da3ce7 Merge "aconfig: c++ read api to return an android::base::Result and cargo fmt" into main 2024-03-15 14:16:27 +00:00
Kadir Çetinkaya
874e12be43 Make sure ninja keeps going after errors
Language services builds are usually executed in a non-building state of the codebase as the user is actively editing the code.

This change ensures we can build as many dependencies as possible for language services by ninja.

Note that this doesn't change the error-limit for soong itself, i.e. we can still fail-early if we encounter errors while generating ninja files.

Change-Id: I594e2ae4591d2e75db082486f28f705833ceb4a8
2024-03-15 07:27:30 +00:00
Treehugger Robot
605346e5c8 Merge "Remove SignApk output limitation of 2GiB" into main 2024-03-15 02:31:43 +00:00
Cole Faust
25a2aa8eea Add staging dir stamp files for all partitions
So they can be used from soong-built partitions.

Bug: 329146343
Test: Manually
Change-Id: I1d0d2f26ffeb60512368d02ce5c054f613f92230
2024-03-14 17:24:13 -07:00
Tomasz Wasilczyk
4045ae7871 Remove SignApk output limitation of 2GiB
Bug: 302112430
Test: build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_x86_64 TARGET_RELEASE=trunk_staging CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="art external/aac external/boringssl external/conscrypt external/cpu_features external/dlmalloc external/fdlibm external/libaom external/libavc external/libcxx external/libfuse external/libgav1 external/libgsm external/libhevc external/libmpeg2 external/libopus external/libtextclassifier external/libvpx external/libxaac external/oj-libjdwp external/sonivox external/speex external/tremolo external/vixl frameworks/av frameworks/base/media libcore libnativehelper packages/modules/Bluetooth packages/modules/Connectivity packages/modules/DnsResolver packages/modules/ExtServices packages/modules/NetworkStack packages/modules/NeuralNetworks packages/modules/SdkExtensions packages/modules/StatsD packages/providers/MediaProvider system/core/base system/core/libcutils system/core/libstats system/media/audio_utils system/netd/resolv" com.android.art.testing
      apksigner verify --in $OUT/../generic_x86_64/system/apex/com.android.art.testing.apex --print-certs -v --min-sdk-version 23
Change-Id: Id31eae0f221dd7ef333bd12aeef591463e1c931a
2024-03-14 14:57:04 -07:00
Jihoon Kang
c4dc1f69c5 Disable WITHOUT_CHECK_API for SDK products
SDK products, which are required to build the SDK, require checkapi
to run in order to generate the exportable artifacts, which are copied
to the dist directory. Thus, this change adds a conditional to emit an
error when WITHOUT_CHECK_API environment variable is set when the target
product is a SDK variant.

Test: lunch sdk-trunk_staging-eng && m WITHOUT_CHECK_API=true and observe the expected error being emitted
Bug: 329374072
Change-Id: I0dc628742c49845792b03f9af1ea60cd9eb4b8c3
2024-03-14 20:43:37 +00:00
Peiyong Lin
7bbfeb147e Merge "Clean up ANGLE on system build configuration." into main 2024-03-14 20:43:18 +00:00
Peiyong Lin
cc63340cd1 Clean up ANGLE on system build configuration.
Now that ANGLE on system is in fully released, clean up the build file
configuration and remove the flags.

Bug: b/293503000
Test: atest CtsAngleIntegrationHostTestCases
Change-Id: Ie8294b6494e2fad44ff102ecf0018916d61b082a
Merged-In: Ie8294b6494e2fad44ff102ecf0018916d61b082a
2024-03-14 19:26:24 +00:00
Dennis Shen
435fe14146 aconfig: c++ read api to return an android::base::Result and cargo fmt
Bug: b/312444587
Test: atest aconfig_storage_read_api.test.rust; atest
aconfig_storage_write_api.test.cpp

Change-Id: I6beb6e8d43b6f5418476101a929374e97832e27f
2024-03-14 19:25:07 +00:00
Dennis Shen
aa0287641e Merge "aconfig_storage: create aconfig storage c++ flag value write api" into main 2024-03-14 19:21:38 +00:00
Yu Liu
5e6cae4997 Merge "Validate aconfig libs are built with the correct modes." into main 2024-03-14 18:39:13 +00:00
Treehugger Robot
4e5aa5d0f5 Merge "Remove fs_get_stats." into main 2024-03-14 17:13:26 +00:00
Dennis Shen
1fdb6cc456 aconfig_storage: create aconfig storage c++ flag value write api
Bug: b/312444587
Test: atest aconfig_storage_write_api.test.cpp
Change-Id: Ib08575b7e6ca23141ebbf739bf604a66da472dc2
2024-03-14 16:06:03 +00:00
Elliott Hughes
b904c27e12 Remove fs_get_stats.
This was only used by the tarball-building support that was removed
in 2019.

Test: treehugger
Change-Id: I719364699d426d21010c3ab913d12f15128f2538
2024-03-14 15:32:24 +00:00
Dennis Shen
7c30411d3d Merge changes from topic "read_api" into main
* changes:
  aconfig: update aconfig_storage_read_api c++ lib
  aconfig: update aconfig_storage_read_api
2024-03-14 14:43:12 +00:00
Treehugger Robot
be19783c7a Merge "Replace some ByteBuffers with DataSource" into main 2024-03-13 23:57:51 +00:00
Tomasz Wasilczyk
4b114c29ec Replace some ByteBuffers with DataSource
This avoids ByteArray 2GiB limit in a few places, but requires more
changes to SignApk to fully support large archives.

Bug: 302112430
Test: build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_x86_64 TARGET_RELEASE=trunk_staging CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="art external/aac external/boringssl external/conscrypt external/cpu_features external/dlmalloc external/fdlibm external/libaom external/libavc external/libcxx external/libfuse external/libgav1 external/libgsm external/libhevc external/libmpeg2 external/libopus external/libtextclassifier external/libvpx external/libxaac external/oj-libjdwp external/sonivox external/speex external/tremolo external/vixl frameworks/av frameworks/base/media libcore libnativehelper packages/modules/Bluetooth packages/modules/Connectivity packages/modules/DnsResolver packages/modules/ExtServices packages/modules/NetworkStack packages/modules/NeuralNetworks packages/modules/SdkExtensions packages/modules/StatsD packages/providers/MediaProvider system/core/base system/core/libcutils system/core/libstats system/media/audio_utils system/netd/resolv" com.android.art.testing
Change-Id: Ie7fc0bbce9ef43b6331143703ac5568cf1b2186a
2024-03-13 21:43:13 +00:00
Dennis Shen
808bf915a8 aconfig: update aconfig_storage_read_api c++ lib
Now the read api lib no longer owns the memory mapped file. The rust lib
aconfig_storage_read_api api to get memory mapped file just returns an
Mmap rust struct. However cxx does not support Mmap data type, so we
cannot export the api to get memory mapped file from rust to c++. This
means we have to implement c++ apis to get memory mapped files.

This change is basically implementing c++ api to get memory mapped files,
mirroring the rust implementation. In addition, the integration test is
also updated to lock down the new c++ api implementation.

Bug: b/321077378
Test: atest aconfig_storage_read_api.test.cpp
Change-Id: I5e93a220cdd05cc0e5b0eb441284ac3e9dc34da7
2024-03-13 20:29:13 +00:00
Dennis Shen
71f9303dc0 aconfig: update aconfig_storage_read_api
Right now, aconfig_storage_read_api rust lib would own mapped files. So
individual flag lib does not need to. The original intent is that all
these flag lib can dynamically link against this lib. So say we have
different variants of flag lib for one flag package, there is just one
unique memory mapped file. In addition, the exposed rust apis hides the
memory mapped files. So when exporting these apis to c++/java, we don't
have to implement memory mapping in c++/java flag read api lib.

However, this design has its own downside. The biggest being that these
memory mapped files are stored in a mutable static hash map. For rust,
it must be protected by a mutex lock. The real effect on the lock is
mostly minimal as it immediately unlocks when the clone of memory
mapping is returned. But still we could get more performance out of it
in exchange of having more c++/java side implementation of mapping
files. (Note, apis that interpret mapped files are still exported by
Rust, so no c++/java implementation needed).

In this change, aconfig_storage_read_api give away its ownership of
memory mapped file in its api to get memory mapped file. The memory
mapped file is supposed to be owned by generated flag lib. By doing so,
no more mutex lock is needed. Also, since each flag lib has one flag
package, which maps to a single owning container. The flag lib can have
the memory mapped files as non mutable static variables. So no mutex
lock penalty on flag lib side.

Bug: b/321077378
Test: atest aconfig_storage_read_api.test; atest
aconfig_storage_read_api.test.rust

Change-Id: I29060bae90db6f7d296252ed73f7e312143f4b7e
2024-03-13 18:10:19 +00:00
Treehugger Robot
c7704f1650 Merge "aflags: show staged values for each flag." into main 2024-03-13 17:01:14 +00:00
Ted Bauer
46d758bd49 aflags: show staged values for each flag.
Lines now have a new column, and look like this:

com.android.example.flag1 enabled -            server read-write system
com.android.example.flag2 enabled (->disabled) server read-write system

The dash represents no change on boot, the (->value) represents a change
to value on the next boot.

Test: adb shell device_config put staged multitasking*com.android.wm.shell.enable_taskbar_navbar_unification true && adb shell aflags list | grep navbar_unification
Bug: 324436145
Change-Id: I022460bc69fcb2ccd9c6db8f060fcbd0337d1ea6
2024-03-13 14:46:31 +00:00
Dennis Shen
c89032cd2f Merge "aconfig: update aconfig_storage_file crate unit test to lockdown file size" into main 2024-03-13 13:10:18 +00:00
Seungjae Yoo
933d07a1b3 Merge "Add unit test for parsing avb info" into main 2024-03-13 01:39:42 +00:00
Dennis Shen
7355446c7e Merge "aconfig: add rust integration test for aconfig_storage_write_api" into main 2024-03-12 22:42:37 +00:00
Dennis Shen
7176a4fdfa aconfig: update aconfig_storage_file crate unit test to lockdown file
size

Bug: b/321077378
m: atest aconfig_storage_file.test
Change-Id: Ic5e7e7a9fd7ac53bb1207a13acc0c992fe0afd2d
2024-03-12 22:40:53 +00:00
Dennis Shen
1d9f0dd291 aconfig: add rust integration test for aconfig_storage_write_api
Bug: b/312444587
Test: atest aconfig_storage_write_api.test.rust
Change-Id: I05f992ea93a19507ad865e97315c128473841a33
2024-03-12 19:09:04 +00:00
Dennis Shen
ee18b35565 Merge "aconfig: add storage file type into storage file serialization" into main 2024-03-12 14:38:50 +00:00
Treehugger Robot
1986c86bb2 Merge "aflags: make flag storage error message more user-friendly" into main 2024-03-12 13:20:21 +00:00
Dennis Shen
e9b9573def aconfig: add storage file type into storage file serialization
1, add storage file type into storage files serialization
2, update aconfig_storage_read_api integration tests to not rely on
soong to produce read only storage files. Instead, have the test process
create temp read only storage file copies.

Bug: b/312444587
Test: atest aconfig.test; atest.aconfig_storage_file.test
Change-Id: I1607fb000b48e8acffc966b16a5136578911ab3e
2024-03-12 12:43:31 +00:00
Treehugger Robot
672af9523b Merge "aconfig: create aconfig_storage_write_api crate" into main 2024-03-12 04:12:20 +00:00
Inseob Kim
cae6e565ca Merge "Add 202404 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" into main 2024-03-12 00:10:16 +00:00
Dennis Shen
7e5fca5898 aconfig: create aconfig_storage_write_api crate
aconfig_storage_write_api crate is the lib to be used by aconfig storage
daemon to update flag value at a given offset.

Note that mmap api is unsafe from memmap2 crate. This is due to the
possibility of other code write to the file after mmaping the file into
memory. Therefore the api to write to storage value file is also marked
as unsafe. In reality, the persistent storage value file is protected by
SELinux policy to allow write access only to aconfig storage daemon. In
addition, aconfig storage daemon is single threaded. So at any time,
only one thread is writing to a storage file, and only thru the mmapped
file in memory (not thru direct file write). So it would safe for
storage daemon to call this api.

Bug: b/312444587
Test: m libaconfig_storage_write_api; atest
aconfig_storage_write_api.test

Change-Id: I93cffea0d94e4c40e711d809418c0b18b6d9bfe1
2024-03-11 14:26:38 +00:00
Ted Bauer
e52434aa18 aflags: make flag storage error message more user-friendly
Bug: 328577149
Test: adb shell stop && sleep 10 && adb shell aflags list
Change-Id: Idb28c93f883b72031cf3e1ff4e8d396c4df708e2
2024-03-11 14:12:58 +00:00
Zhi Dou
bf29fffff3 Merge "aconfig: remove UnsupportedAppUsage from java exported mode" into main 2024-03-11 13:43:49 +00:00