Commit graph

81792 commits

Author SHA1 Message Date
Treehugger Robot
3210194259 Merge "Compress precompiled python zips" into main 2024-04-30 01:30:15 +00:00
Treehugger Robot
29067ccade Merge changes from topics "fix_selects_appending", "refactor_selects" into main
* changes:
  Update accesses to ConfigurableCondition
  Add test for configurable defaults applied to multiple modules
2024-04-30 01:15:42 +00:00
Cole Faust
baae083e60 Compress precompiled python zips
When making this script deterministic we accidentally changed it so that
none of the entries in the output zip file were compressed. Re-add
the compression.

Adding the compression makes atest go from 67M to 34M, at the cost of
0.33s startup time instead of 0.28s.

Test: Presubmits
Change-Id: I4e58eb76235ddabf0195694cdd3644f26b7e84ec
2024-04-29 16:47:36 -07:00
Spandan Das
36c329ce77 Move coverage builds prebuilt special case to make
Having this in make has the following advantages
- allows this to be used in other places in make that are sensitive to
  prebuilt selection, e.g. apex boot jars that are present in source but
  not in prebuilt apexes
- collocates the various prebuilt special edge cases

Test: presubmits
Test: in internal, lunch cf_x86_64_phone-next-userdebug
Test: EMMA_INSTRUMENT_FRAMEWORK=true get_build_var PRODUCT_BUILD_IGNORE_APEX_CONTRIBUTION_CONTENTS
true

Bug: 308188056
Change-Id: Iea92311759f3bfe0ece7cb45fdb239c8a4db1dde
Merged-In: Iea92311759f3bfe0ece7cb45fdb239c8a4db1dde
2024-04-29 22:04:02 +00:00
LaMont Jones
e41ea1e33e release_config: better default map paths
- Automatically determine the top of the workspace.
- build-flag defaults to using `get_build_var` to get product specific
  release config maps.
- release-config defaults to using PRODUCT_RELEASE_CONFIG_MAPS but does
  not use `get_build_var` unless the argument is given.

Bug: 328495189
Test: manual
Change-Id: I4ba3c5dfab43c4ebc3eeda13318f42e886dada4e
2024-04-29 14:43:09 -07:00
Ted Bauer
10fff94e2e Drive instrumentation with build flag for C/C++
Bug: 328444881
Test: m
Change-Id: I20c92c61f855adb772d6aa173e85a6d8092460d7
2024-04-29 19:53:43 +00:00
Paul Duffin
6f581637c1 Merge "Pass API surface specific extension jars to Metalava" into main 2024-04-29 19:19:16 +00:00
LaMont Jones
f6aa6754a2 Merge "release_config: container is a repeated string field" into main 2024-04-29 17:25:03 +00:00
Ted Bauer
84835f48ea Merge "Switch libbase to shared" into main 2024-04-29 16:47:45 +00:00
Ted Bauer
6c69edfbf1 Switch libbase to shared
Test: m
Bug: 328444881
Change-Id: Ia232859bcc6591e26eb244d8c3f15336204a460e
2024-04-29 15:05:57 +00:00
Inseob Kim
17ce834beb Export app's logtags too
Bug: 336189540
Test: m out/soong/.intermediates/all-event-log-tags.txt
Test: m out/target/common/obj/all-event-log-tags.txt
Change-Id: I3c1f09e57f17e2bea1c79841efc5f8c00c1b4a1c
2024-04-29 17:42:11 +09:00
Inseob Kim
37e0bb0db4 Merge logtags from cc modules too
Merged logtags files will be used for Soong built filesystem images.

Bug: 336189540
Test: m out/soong/.intermediates/all-event-log-tags.txt
Test: m out/target/common/obj/all-event-log-tags.txt
Change-Id: Ib590c2bc8073e9acee6b45ef08092768237cf9d3
2024-04-29 17:40:40 +09:00
Hsin-Yi Chen
d32e3dff8d Merge "Let header-abi-linker filter llndk, apex, and systemapi symbols" into main 2024-04-29 07:43:57 +00:00
Cole Faust
8afc514ebb Update accesses to ConfigurableCondition
So that we can have a guarantee that ConfigurableCondition is
immutable.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I7c42d6899914bc5fa8927377d359ed6506ba7378
2024-04-26 16:30:19 -07:00
LaMont Jones
db600990a5 release_config: container is a repeated string field
Container is a string, and a flag can be in more than one container.

Bug: 328495189
Test: manual
Change-Id: I5a2a9855532027584d2b67f63f1b9584fce3d8d9
2024-04-26 14:56:58 -07:00
Cole Faust
693494682f Add test for configurable defaults applied to multiple modules
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I510472a81ae682e5a55171ec4a9aec420d577307
2024-04-26 12:37:57 -07:00
LaMont Jones
2d5e7579d4 Merge changes I708c37f9,I577e7fb0 into main
* changes:
  Write per-partition build_flags.json
  release_config: various cleanup
2024-04-26 18:53:41 +00:00
Jeff DeCew
996c883b65 Merge "Ensure aconfig generated CustomFeatureFlags is renamed by JarJar" into main 2024-04-26 18:39:43 +00:00
LaMont Jones
f4cc08e114 Write per-partition build_flags.json
Create build_flags_{partition}-{TARGET_PRODUCT}-{TARGET_RELEASE}.json
in {OUT_DIR}/soong/release-config.

Bug: 328495189
Test: manual
Change-Id: I708c37f9b1216b4283886c98cacaf66bfcd28143
2024-04-26 09:24:47 -07:00
LaMont Jones
15788829b2 release_config: various cleanup
- Parse release_config_map.textproto files only once
- Fix inheritance
- Sort flag artifacts by flag name
- Add --all_make option for testing
- Fix value() parsing in crunch_flags

Bug: 328495189
Test: manual
Change-Id: I577e7fb07171bea9a53d61eaf77ec728b60d7a26
2024-04-26 08:28:39 -07:00
Ted Bauer
8e4060abc5 Merge "Switch to static deps" into main 2024-04-26 15:09:20 +00:00
Ted Bauer
1e96f8c622 Switch to static deps
Bug: 328444881
Test: m
Change-Id: I53ad95ca281031ec98d5df66ada0ed69749da312
2024-04-26 13:46:09 +00:00
Yu Liu
24cd8c3756 Merge "Only link the profile extras lib for device variant for rust." into main 2024-04-25 22:45:57 +00:00
Colin Cross
21ed4694c5 Allow overriding android_library_import manifests
Some of the androidx libraries have a transformed manifest
alongside that needs to be used to avoid introducing extra
androidx.startup provider entries.  Add a manifest property
that allows overriding the manifest provided by the aar file.

Bug: 336549758
Test: examine PermissionController.apk
Ignore-AOSP-First: submitting in topic with internal CL
Merged-In: I5c8daf810d2fde9a150cbfe48b4f4216f5d1ba0d
Change-Id: I5c8daf810d2fde9a150cbfe48b4f4216f5d1ba0d
2024-04-25 20:46:22 +00:00
Paul Duffin
58cfc9af9b Pass API surface specific extension jars to Metalava
Previously, it would only pass `public` extension jars. This change
fixes that so it passes the jars for the API surface being generated.

Bug: 336993217
Test: m out/target/common/obj/PACKAGING/api_versions_public_generated-api-versions.xml \
        out/target/common/obj/PACKAGING/api_versions_system_generated-api-versions.xml
      # Compare the following files to make sure that they include public extension
      # APIs and system extension APIs respectively.
      diff \
          out/soong/.intermediates/frameworks/base/api/api_versions_public/android_common/*/metalava_exportable.sbox.textproto \
          out/soong/.intermediates/frameworks/base/api/api_versions_system/android_common/*/metalava_exportable.sbox.textproto
Change-Id: I02e2ec3c8176cfbc3cbd8ac56fb78d12b765eedb
2024-04-25 19:04:32 +01:00
Hsin-Yi Chen
f6fc525a1a Let header-abi-linker filter llndk, apex, and systemapi symbols
This commit adds --include-symbol-tag and --symbol-tag-policy to
header-abi-linker commands. The arguments make header-abi-linker load
the symbols tagged with llndk/apex/systemapi from the version script.
It filters the function declarations by the symbols. The output dumps
will not contain unfinalized ABI.

Test: make findlsdumps
Bug: 333532038
Change-Id: I28234a3749f389b8a5a09ac84341b1fcd1ee88a6
2024-04-25 23:11:49 +08:00
Hsin-Yi Chen
473b3557f1 Merge "Split APEX ABI dumps from implementation ABI dumps" into main 2024-04-25 14:58:20 +00:00
Hsin-Yi Chen
98da02128c Split APEX ABI dumps from implementation ABI dumps
This commit adds a rule that builds APEX ABI dumps separately from the
implementation libraries' ABI dumps. The rule takes the
export_include_dirs and the symbol_file of the stubs as parameters.
The dump paths are tagged with "APEX" in lsdump_paths.txt. The script
updating the prebuilt reference dumps can differentiate the APEX dumps
from the opt-in dumps tagged with "PLATFORM".

This commit also adds an ABI diff rule. Soong compares the APEX ABI
dumps with the reference dumps in version 35. It compares the
implementation dumps with the reference dumps in old versions.

Bug: 333532038
Test: make
Change-Id: I76902a8e3b7d0e96a5ad756f493924371cd7ad3c
2024-04-25 17:57:29 +08:00
Christopher Ferris
a5a6b9c766 Replace Malloc_not_svelte with Malloc_low_memory.
The Malloc_not_svelte variable name is confusing and makes the
low memory config the default. Change this so that the default is
the regular allocator, and that Malloc_low_memory is used to enable
the low memory allocator.

Test: Verified scudo config is used by default.
Test: Verfified Android GO config uses the jemalloc low memory config.
Change-Id: I02ee2bd304c8367152108caee08dd27d91838659
2024-04-24 17:42:23 -07:00
Treehugger Robot
a559cab24a Merge "add flag_value.redacted" into main 2024-04-25 00:13:34 +00:00
Treehugger Robot
c66702491f Merge "Shard rust protobuf sources" into main 2024-04-24 23:02:54 +00:00
Treehugger Robot
fa6dac201d Merge "crunch_flags: keep-sorted lines are not descriptions" into main 2024-04-24 21:39:32 +00:00
Cole Faust
703248196c Merge "Keep replace_instead_of_append in arch prop structs" into main 2024-04-24 21:36:17 +00:00
Kevin Liu
0c07d46585 Merge "Added Strict_mode logic catch direct usage of Robolectric reference" into main 2024-04-24 20:58:27 +00:00
LaMont Jones
ccb2207cfa add flag_value.redacted
When set, this removes all traces of the flag from the release config.

Bug: 328495189
Test: manual
Change-Id: Iab39d06e134bfc020ba4875c1b8e89c5cdf18924
2024-04-24 13:06:14 -07:00
LaMont Jones
11209e1255 crunch_flags: keep-sorted lines are not descriptions
Also fix a typo in parsing declare-release-config.

Bug: 328495189
Test: manual, TH
Change-Id: Ibfed4a217275df0dd6bd9c2fb124e0d1f791be08
2024-04-24 13:05:55 -07:00
Cole Faust
5fda87b822 Keep replace_instead_of_append in arch prop structs
replace_instead_of_append is read by proptools.ExtendProperties() /
proptools.ExtendMatchingProperties(). These functions are called on
arch property structs, so we need to preserve it when creating the
arch property structs.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: Ic08704d8a2b710f5a5d99b62d3f8a37730bb6013
2024-04-24 11:21:14 -07:00
Kevin Liu
cab89b51c3 Added Strict_mode logic catch direct usage of Robolectric reference
When Strict_Mode is true, exclude Robolectric_all-target_upstream from the build pass, instead use the newly added robolectric_all-target_runtime, which compiles the robolectric lib into jar and later being added to final test jar.

Test: atest MyRoboTests
Bug: 334089788
Change-Id: I59291e3cc478e73f65950886853732ff0c5c5db7
2024-04-24 16:54:30 +00:00
Yu Liu
315a53c5cb Make container mandatory in aconfig_declarations.
Bug: 330354107
Test: Unit test and CI.

Ignore-AOSP-First: It is easier to detect all the missing ones in internal
master.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e916a2c758d2a95037d1d366e7cd0e10d241d510)
Merged-In: I4ab4271c67a35d0fdcc0b57c27260e29fb7dea56
Change-Id: I4ab4271c67a35d0fdcc0b57c27260e29fb7dea56
2024-04-24 16:41:57 +00:00
Jeff DeCew
4fd15223fe Ensure aconfig generated CustomFeatureFlags is renamed by JarJar
Bug: 336768870
Flag: NA
Test: presubmit
Change-Id: I40a2763724066118e051a9ca0b88e5a9e5d76adf
2024-04-24 14:25:38 +00:00
Spandan Das
79cd6899c7 Remove cc_api_library related code from sdkMutator
This module type was used for multi-tree, which has since been
deprioritized.

Test: go test ./cc
Change-Id: If661aa1215022301cfa10cbe2cec4565faf89c14
2024-04-23 23:52:15 +00:00
Spandan Das
6d2656ef10 Add .swp files to .gitignore
Test: N/A
Change-Id: I410c5b732b0284562fa0e6312befcecf73c838d3
2024-04-23 23:51:45 +00:00
Ted Bauer
b39c877ae0 Merge "Add aconfig storage API deps to codegened lib" into main 2024-04-23 22:56:50 +00:00
Weijia He
3835928537 Merge "Generate test lists for Ravenwood and Robolectric tests" into main 2024-04-23 22:54:37 +00:00
Ellen Arteca
5e94e60cb7 Merge "Adds support to bindgen to handle static inline fcts" into main 2024-04-23 20:29:00 +00:00
Treehugger Robot
88b3e0c33b Merge "Ignore the .vscode/ folder" into main 2024-04-23 19:40:46 +00:00
Ted Bauer
f0f18591a5 Add aconfig storage API deps to codegened lib
Change-Id: I4991c9fccb0a0bab15457883cf20aacb3142c4cf
2024-04-23 18:25:26 +00:00
Colin Cross
f526863a40 Shard rust protobuf sources
Shorten the command line for generating rust protobuf sources
by sharding the sources into groups of 50 source files.

Bug: 322564768
Bug: 336323108
Test: builds
Change-Id: Ia8069cdaf49f9a42d14a83139545ba61277418e0
2024-04-23 10:47:00 -07:00
Cole Faust
243e704ed0 Ignore the .vscode/ folder
Test: Presubmits
Change-Id: I3c500c8fca69c43529ef498870b659abd5654767
2024-04-23 09:56:01 -07:00
Paul Duffin
a4362b937a Merge "Use new --api-lint-previous-api" into main 2024-04-23 13:04:16 +00:00