Commit Graph

96685 Commits

Author SHA1 Message Date
Treehugger Robot
6974bbf7ee Merge "Update sdk finalizer to change soong instead of bazel" into main 2024-04-23 20:26:05 +00:00
Dennis Shen
59274f816c Merge "aconfig: remove cache filtering by container" into main 2024-04-23 20:17:35 +00:00
Michael Merg
c9d54b0877 Merge "Set enforce SOONG_GEN_COMPDB=1 when running soong for ide_query" into main 2024-04-23 19:59:04 +00:00
Jihoon Kang
ed37595aaf Update sdk finalizer to change soong instead of bazel
Update the map in soong instead of that in bazel

Bug: 315353489
Test: manual
Merged-In: I3a51be1119109d2a6cf3959bdc8a48192872580f
Change-Id: Ia61a17be4a7d85c00d2e9758ea2409019d451dfd
2024-04-23 19:53:46 +00:00
Dennis Shen
67e44dd2c3 Merge "aconfig: update flag info storage file" into main 2024-04-23 18:08:13 +00:00
Zhuoyao Zhang
73e96880ae Merge "Support tool event logging for ADB invocations" into main 2024-04-23 17:25:58 +00:00
Treehugger Robot
96407369b1 Merge "Add soong config variables for selinux" into main 2024-04-23 01:14:44 +00:00
Wei Li
7f2b0fe594 Merge "Add license metadata declarations." into main 2024-04-22 22:52:37 +00:00
William McVicker
adc3664dd2 Merge "Add new product property to detect if PAGE_SIZE is defined" into main 2024-04-22 18:30:04 +00:00
Paul Duffin
1c4b50f8c4 Merge "Use new metalava jar-to-diff command" into main 2024-04-19 22:27:51 +00:00
Zhuoyao Zhang
fb19bf1b9f Merge "Add Trendy team for the run_tool_with_logging_test" into main 2024-04-19 22:23:16 +00:00
Dennis Shen
1ebcd017ae aconfig: remove cache filtering by container
No need for cache filtering based on container anymore. This is now
performed by build system automatically. The caches feed into storage
generation command are automatically filtered based on owning
container.

Bug: b/312444587
Test: atest aconfig.test
Change-Id: I44f3ac03d50b77a191a82ff7ed4d02766012492d
2024-04-19 21:44:32 +00:00
Zhuoyao Zhang
eebb0edb27 Add Trendy team for the run_tool_with_logging_test
Test: None
Bug: 331638854
Change-Id: I58e74d93428cf6b9d39d37995c8105dfe247d676
2024-04-19 18:12:25 +00:00
Zhuoyao Zhang
60dd9ddce9 Support tool event logging for ADB invocations
Note that tool logging is still disabled by default.
This change validates that the ADB shell function
does not break any user flows when integrated with
the logging facility.

Test: adb devices -l
Bug: 331638854
Change-Id: Ic27fd44c9385ca48df79f2d7570c037b6fe18232
2024-04-19 17:38:17 +00:00
Treehugger Robot
563a2f62c5 Merge "fixup! Support generating partial OTAs from extracted target_files" into main 2024-04-19 16:19:32 +00:00
Michael Wright
2d3e50527d Merge changes I8b5e2642,I0520ab0f into main
* changes:
  check-flagged-apis: add script to run tool on actual data
  check-flagged-apis: simplify unit test dependencies
2024-04-19 15:25:22 +00:00
Paul Duffin
56ac6da961 Use new metalava jar-to-diff command
Replaces the use of `--input-jar-file` and `--api-xml` with the newly
added `jar-to-diff` command.

Test: TARGETS=$(for i in api.xml system-api.xml module-lib-api.xml system-server-api.xml test-api.xml; do echo out/target/common/obj/$i; done)
      m $TARGETS
      # Diff $TARGETS with and without this change to make sure that
      # they are identical, which they are.
Change-Id: I6a78febb4b2e4d06a0b3aea29fb4a7f94c9ab9a4
2024-04-19 12:34:47 +01:00
Treehugger Robot
f8e79f113b Merge "Remove android.hardware.wifi from generic_system.mk" into main 2024-04-19 06:40:57 +00:00
Jihoon Kang
9328219ae3 Merge "Remove non existent snapuserd.recovery package" into main 2024-04-19 06:33:36 +00:00
Jihoon Kang
93e9197a66 Merge "Remove WallpaperPicker from aosp_product.mk" into main 2024-04-19 05:15:45 +00:00
Inseob Kim
77d1b94b9f Merge "Build etc/hosts with Soong" into main 2024-04-19 01:29:38 +00:00
Jim Tang
ccd1f73c5f Merge "Deprecate USE_PREBUILT_SDK_TOOLS_IN_PLACE" into main 2024-04-19 00:47:08 +00:00
Dennis Shen
6f4c692948 aconfig: update flag info storage file
previously we store three bits per flag: is sticky, is read write, has
override. so when a local override arrives, is sticky bit as well has
override bit are set to true. this becomes problematic when the local
override is removed. we are not sure if we should remove has override
bit as well (server override could still be in place).

therefore restructuring the flag info for each flag into new three bits:
is read write, has server override and has local override. so now server
override and local override bits are independent from each other.

Bug: b/312444587
Test: atest -c
Change-Id: I03b2bb7312480773236c95f2b39f2589fee41924
2024-04-18 21:22:49 +00:00
Chirayu Desai
c8edf8af33 fixup! Support generating partial OTAs from extracted target_files
Test: Sign crosshatch
Change-Id: I6728da3a3a50ee24a35581af7e6ead3e13c5ff1d
2024-04-19 02:49:17 +05:30
Daniel Zheng
b24b46d43f Merge "add build property for compression_factor" into main 2024-04-18 20:59:40 +00:00
Nikita Ioffe
d0d74d2038 Merge "Propagate PRODUCT_AVF_MICRODROID_GUEST_GKI_VERSION to soong" into main 2024-04-18 20:03:53 +00:00
Luca Farsi
ad64a4d296 Merge "Stream build process output" into main 2024-04-18 19:03:40 +00:00
Luca Farsi
db136447a6 Stream build process output
Ensure that output and errors from the underlying build command are
streamed for real-time build progress updates and debugging.

This change strips out all code that is currently unecessary and adds
tests for the remaining functionality.

Test: atest --host build_test_suites_local_test build_test_suites_test
Bug: 330365727
Change-Id: I7ef98d6654fe1435cf67c15e2c516a0967e03a75
2024-04-18 19:02:50 +00:00
Daniel Zheng
270130a025 add build property for compression_factor
Compression factor, as discussed, should be a configurable build
property. This flag here will control that. From initial analysis, it
looks like 64k is a good default. go/variable-block-vabc-perf

Bug: 313962438
Test: th
Change-Id: I2bddede22655e36446e734ac1917be560b1a3a1b
2024-04-18 11:22:26 -07:00
Treehugger Robot
ac407794b9 Merge "aflags: read protos from all containers" into main 2024-04-18 17:23:59 +00:00
Daniel Zheng
78986f598f Merge "Revert^2 "Turn on V3 cow"" into main 2024-04-18 16:54:15 +00:00
Ted Bauer
206d44aff5 aflags: read protos from all containers
Create one library for reading protos from all containers, instead of
having numerous libraries perform the same logic. For Java, we will
create a similar library reusing the same
partition_aconfig_flags_paths.txt.

Bug: 324436145
Test: adb shell aflags list # Confirm that various containers appear
Change-Id: I924e281a50f9a609e1c07c03267eebe3dce52752
2024-04-18 14:38:41 +00:00
Mårten Kongstad
76460bd770 check-flagged-apis: add script to run tool on actual data
Add a script to make it easier to check-flagged-apis for the public APIs
and the three flavours of @FlaggedApi.

Bug: 334870672
Test: lunch sdk-next-eng && source check-flagged-apis.sh
Change-Id: I8b5e2642ade84560c5c61ae49d8c0dcdedb841ca
2024-04-18 16:13:52 +02:00
Michael Merg
75d934f261 Set enforce SOONG_GEN_COMPDB=1 when running soong for ide_query
Change-Id: I125a82fb07285bf53e9a6d591dee69d85ee82050
2024-04-18 12:06:31 +00:00
Mårten Kongstad
7cc217459a check-flagged-apis: simplify unit test dependencies
Replace the current unit test runner DeviceJUnit4ClassRunner with JUnit4
and replace the (larger) dependency tradefed with the (smaller)
dependency junit.

This has no impact other than minimizing the unit test static_libs.

Bug: 334870672
Test: atest --host check-flagged-apis-test
Change-Id: I0520ab0feeea5ea2ed15905136ba2647f86162cb
2024-04-18 10:25:33 +02:00
Jim Tang
b9cc101bca Deprecate USE_PREBUILT_SDK_TOOLS_IN_PLACE
USE_PREBUILT_SDK_TOOLS_IN_PLACE is not set anywhere else after
aosp/3043552 lands.

Bug: 122333025
Bug: 332464939
Test: m
Change-Id: I55490cdc0a7036263876ecbb322cc5b4af8d1959
2024-04-18 14:12:15 +08:00
Inseob Kim
112961652b Build etc/hosts with Soong
Bug: 335369205
Test: build
Change-Id: I4c56b343cd6624ba3d6bdfb5f70e9c9520dcfe2f
2024-04-18 10:45:23 +09:00
Inseob Kim
45c6fd0c17 Merge "Build dirty-image-objects in Soong" into main 2024-04-18 01:43:00 +00:00
Zhuoyao Zhang
4ab55dd760 Merge "Add a facility to log tool invocations" into main 2024-04-18 00:37:28 +00:00
Zhuoyao Zhang
cc44d2e70e Add a facility to log tool invocations
Add a function to log the invocation of tools run from the Android
build environment. This enables analyzing and optimizing developer
flows.

Note that there are no tools currently leveraging the logging
facility. Logging is also disabled by default and not configured to
use any particular logger.

Test: atest run_tool_with_logging_test
bug: 331638854

Change-Id: I001ba3c6c30b3ffc95d0fdb30ea7178a991c680f
2024-04-17 22:41:58 +00:00
Vilas Bhat
185a3fc892 Merge "16k: build: Enable TARGET_NO_BIONIC_PAGE_SIZE_MACRO by default on Android V targets" into main 2024-04-17 20:27:37 +00:00
Dennis Shen
e6b424ad4a Merge "aconfig: add support for local override" into main 2024-04-17 19:07:56 +00:00
Treehugger Robot
fde34c3b65 Merge "check-flagged-apis: create list of @FlaggedApi errors" into main 2024-04-17 15:44:39 +00:00
Mårten Kongstad
7978682841 Merge "check-flagged-apis: parse API versions XML" into main 2024-04-17 14:41:32 +00:00
Mårten Kongstad
9238a3ab76 check-flagged-apis: create list of @FlaggedApi errors
Teach check-flagged-apis to cross-check the data from its three input
sources. This allows the tool to detect

  - @FlaggedApi references to non-existent flags
  - @FlaggedApi APIs present in the build artifacts even though the flag
    is disabled
  - @FlaggedApi APIs not present in the build artifacts even though the
    flag is enabled

By passing in different sources, the tool can detect these errors for
any of the API surfaces (public, @SystemApi(MODULE_LIBRARIES), etc).

Note: the tool assumes that a disabled flag means that the @FlaggedApi
should not be present in the build output. This is currently true, but
won't be once metalava starts reverting @FlaggedApis to their previous
SDK snapshot.

Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt --flag-values out/soong/.intermediates/all_aconfig_declarations.pb --api-versions out/dist/data/api-versions.xml
Change-Id: I790234865f831af7d45895def14d1d6740365622
2024-04-17 16:40:03 +02:00
Treehugger Robot
e24a1e4ddc Merge changes I397b32ae,Ic244b896,I5ccf2a64 into main
* changes:
  check-flagged-apis: parse flag names and values
  check-flagged-apis: parse API signature files
  check-flagged-apis: add unit test infrastructure
2024-04-17 14:29:25 +00:00
Mårten Kongstad
b673d3bb7d check-flagged-apis: parse API versions XML
Teach check-flagged-apis to parse API versions XML; this represents the
APIs after metalava has processed the source and kept APIs as is, or
reverted them to the previous SDK snapshot, according to their
@FlaggedApi flags.

As with the API signature parser, limit support to fields to keep things
simple; support for classes and methods will be added in later CLs.

Note: `m sdk dist` will generate an API versions XML file.

Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt --flag-values out/soong/.intermediates/all_aconfig_declarations.pb --api-versions out/dist/data/api-versions.xml
Change-Id: I779a0d0cdb8a50536d3fc8d517fa38ba4b0dcd1c
2024-04-17 15:27:48 +02:00
Mårten Kongstad
387ff6cfe8 check-flagged-apis: parse flag names and values
Teach check-flagged-apis to parse the parsed_flags protobuf generated by
aconfig.

Note: `m all_aconfig_declarations` generates a protobuf file that
contains all info about all flags.

Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt --flag-values out/soong/.intermediates/all_aconfig_declarations.pb
Change-Id: I397b32ae2a373b429ef6ce22e0a06a0f15202b91
2024-04-17 15:27:48 +02:00
Mårten Kongstad
20de405dd5 check-flagged-apis: parse API signature files
Teach check-flagged-apis to extract flagged APIs from API signature files.

To keep things simple, only consider fields for now: support for classes
and methods will be added in a later CL.

Note: `m frameworks-base-api-current.txt` will generate an API signature
file that includes both the platform and mainline APIs.

Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt
Change-Id: Ic244b896672569f44af793796189b34c1f9d0c36
2024-04-17 15:27:48 +02:00
Mårten Kongstad
f242ec8989 check-flagged-apis: add unit test infrastructure
Add scaffolding for unit tests.

Bug: 334870672
Test: atest --host check-flagged-apis-test
Change-Id: I5ccf2a6424c19e739923379cdc41c359388484da
2024-04-17 15:27:45 +02:00