Commit Graph

7999 Commits

Author SHA1 Message Date
Cole Faust
24e25c0499 Re-enable strict updatability linting
Now that all use cases where it would've errored on are removed.

Ignore-AOSP-First: the properties were only removed in internal main to make the LSC smaller
Bug: 320698986
Test: m nothing --no-skip-soong-tests, and also locally edited soong to add a quick build that runs all the strict updatability checks in the tree and ran that
Change-Id: If9e23327a3c0944cc8c6849914fe51dc48bdb626
2024-01-19 14:15:34 -08:00
Colin Cross
fdacb77500 Fix data race in propagateRROEnforcementMutator am: 7e6a9012c0 am: e2f1b79768
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2913032

Change-Id: I2f064ea2abc1d9b04a20a63b1c9aae2c1c66e322
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-19 01:08:40 +00:00
Colin Cross
95c6bc0fab Fix data race in dex_bootjars am: 84ed511ceb am: 85426ee04f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2913030

Change-Id: I978c42a28ee5d7cf5ebce1388a07b1d2661a1b82
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-19 01:08:32 +00:00
Colin Cross
e2f1b79768 Fix data race in propagateRROEnforcementMutator am: 7e6a9012c0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2913032

Change-Id: I8e425838331f483e4a644a8c7b547a250c4d9114
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-19 00:26:27 +00:00
Colin Cross
85426ee04f Fix data race in dex_bootjars am: 84ed511ceb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2913030

Change-Id: Ie025407c0baf94615c7cbb7a5bcbecabcf4c216e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-19 00:26:21 +00:00
Colin Cross
1b1b9a937b Merge changes from topic "soong-tests-presubmit" into main
* changes:
  Add script to run Soong tests with go tools
  Disable TestVariantSingletonModule when go test -short is used
  Fix data race in propagateRROEnforcementMutator
  Fix data race in finder_test.go
  Fix data race in dex_bootjars
  Fix race CommonGlobalCflags when running tests in parallel.
  Fix data race in snapshot singletons when running parallel tests
2024-01-18 23:58:45 +00:00
Treehugger Robot
029e2b71f2 Merge "Add better error handling to bootDexJar function" into main am: 193bb8c317 am: e71b0efd54
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2912400

Change-Id: I7e55e49bc317eb4186b4716516884dff596a153e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-18 22:09:51 +00:00
Colin Cross
7e6a9012c0 Fix data race in propagateRROEnforcementMutator
propagateRROEnforcementMutator walks dependencies of each module and
modifies them via SetRROEnforcedForDependent.  That is unsafe in a
parallel mutator, as the same dependency could be being visited by
two parent modules at the same time.  Don't mark it as a parallel
mutator.

Test: go test -race ./...
Change-Id: I9870aaa7d165bf72b751e3ceff5a2a3eb4d74ec4
2024-01-18 13:23:06 -08:00
Treehugger Robot
193bb8c317 Merge "Add better error handling to bootDexJar function" into main 2024-01-18 20:38:13 +00:00
Colin Cross
84ed511ceb Fix data race in dex_bootjars
Move fields in bootImageConfig that are written during
GenerateAndroidBuildActions into a provider to avoid a data race.

Test: go test -race ./...
Change-Id: I0d6783530843889b96f32d748bda7824493d2e32
2024-01-17 16:10:37 -08:00
Spandan Das
3a3920129d Add better error handling to bootDexJar function
aosp/2876754 missed adding error handling to one of the places which
consumes the dex jar deapexed from prebuilt apexes. This CL ensures that
when we have multiple prebuilt apexes _without_ flagging, the hiddenapi
processing code emits a more descriptive error "Multiple deapxers..."
rather than a cryptic error "<module> does not provide a dex jar"

Test: m nothing --no-skip-soong-tests

Change-Id: I80849fa7cca17d724ac53c94bb353b169175ee28
2024-01-17 20:59:43 +00:00
Treehugger Robot
f3aafbddc4 Merge "Promote the NewApi check to an error again" into main 2024-01-17 17:47:16 +00:00
Cole Faust
028b94cdc5 Promote the NewApi check to an error again
Now that all existing cases have been baselined.

Ignore-AOSP-First: Requires a LSC that is difficult to do across branches.
Bug: 268261262
Test: m lint-check
Change-Id: I413f86ff7a1f33564465f3ba9cd52924a4242901
2024-01-17 07:45:35 +00:00
Treehugger Robot
a6ba24bcfe Merge "Remove HideFlaggedApi() related logic and the related product variables" into main am: c0412f5d31 am: bd44b17537
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2911028

Change-Id: I1b06464b5784e64825ffa81209971ba944b4be8c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-17 01:42:48 +00:00
Treehugger Robot
c0412f5d31 Merge "Remove HideFlaggedApi() related logic and the related product variables" into main 2024-01-17 00:20:54 +00:00
Treehugger Robot
b31d06a669 Merge "Disable prebuilt apps without an apk later" into main am: 535f739153 am: 731c981258
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2909137

Change-Id: I92c58414ee2825f327c3f5475d1216e497272490
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-16 21:50:25 +00:00
Treehugger Robot
751c28bba9 Merge "Implicitly bump up Java target to 1.8" into main am: ce8d254149 am: cc3e1287da
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2910522

Change-Id: I7ec513907849ca405d36d90b895d8f763ce797cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-16 21:45:25 +00:00
Jihoon Kang
78b6b30aec Remove HideFlaggedApi() related logic and the related product variables
With the recent build changes to support generating mainlin module sdk
with flagged apis, the build no longer depends on the values of these
product variables in exposing the flagged apis, but these are determined
by the aconfig flags. Given that these variables are no longer used,
this change removes these variables and the variables dependent code.

Test: m nothing --no-skip-soong-tests
Bug: 320515715
Change-Id: I6af94da73cc7fc7ffce670928aad81cec5d383b4
2024-01-16 20:20:27 +00:00
Treehugger Robot
535f739153 Merge "Disable prebuilt apps without an apk later" into main 2024-01-16 18:25:30 +00:00
Treehugger Robot
ce8d254149 Merge "Implicitly bump up Java target to 1.8" into main 2024-01-16 18:09:41 +00:00
Sorin Basca
d567a514ee Implicitly bump up Java target to 1.8
Bug: 320294595
Test: m
Change-Id: I693e564c67d17254d68f3a9c16664c1da93b9488
2024-01-15 16:38:46 +00:00
David Srbecky
3150c8fee1 Merge "Revert^7 "Enable dex container (DEX v41) for the whole system"" into main am: cf33b025d9 am: 3f4aab9266 am: 1c5557d198
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2898928

Change-Id: I8a02e14be924a2927e48fc0ea3251f9ae60c25be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-15 12:53:47 +00:00
David Srbecky
cf33b025d9 Merge "Revert^7 "Enable dex container (DEX v41) for the whole system"" into main 2024-01-15 11:10:45 +00:00
Yanning Jia
43668c6f13 Revert^7 "Enable dex container (DEX v41) for the whole system"
This reverts commit 7022550d0e.

Reason for revert: Breaks app's DRM

Bug: 317744117
Change-Id: I539e6ec037db1c297fe7cf85d294bebe963ab214
2024-01-15 11:09:32 +00:00
Jihoon Kang
0b5da4eb6f Merge changes from topic "hiddenapi_exportable" into main am: 7e9343b889 am: cf38079804 am: 5aea28265a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2897486

Change-Id: Iac2820fecdb0bb91040879461dd8a4de012c3ade
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-13 03:27:25 +00:00
Jihoon Kang
4243511709 Enable hiddenapi check for exportable stubs am: bd093457e2 am: c32db5a7ad am: e1678131d3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889892

Change-Id: Idb07d662b8e37dcd0138f4e7d086ef2eefb9d23b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-13 03:27:21 +00:00
Jihoon Kang
5bfd7373a1 Add defaults support for bootclasspath_fragment module type am: 9272dccb1e am: 9604b5571f am: 34d7b23631
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2906878

Change-Id: I1c133dfefc6743decef09ebba754636b9ce2cc39
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-13 03:27:13 +00:00
Jihoon Kang
c32db5a7ad Enable hiddenapi check for exportable stubs am: bd093457e2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2889892

Change-Id: If6c32bbf60f9105164e145ee186247de779c26eb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-13 01:33:10 +00:00
Jihoon Kang
9604b5571f Add defaults support for bootclasspath_fragment module type am: 9272dccb1e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2906878

Change-Id: Ia17f45a63c30986af63fe18b39ba62cae6ee1247
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-13 01:33:08 +00:00
Cole Faust
97494b197e Disable prebuilt apps without an apk later
Currently, android_app_import modules get disabled during their load
hook if they don't have a set `apk` property. This causes them to be
disabled before soong config variables can be applied, which would've
set the apk property.

Move the disabling into a DefaultableHook, which will run after the
soong config variables.

Bug: 319897584
Test: m nothing --no-skip-soong-tests
Change-Id: Ia0f6a39c35b3b11249bfa74ad532858189be24b1
2024-01-12 17:02:58 -08:00
Jihoon Kang
7e9343b889 Merge changes from topic "hiddenapi_exportable" into main
* changes:
  Copy exportable artifacts to module sdk snapshot
  Enable hiddenapi check for exportable stubs
  Add defaults support for bootclasspath_fragment module type
2024-01-12 23:50:37 +00:00
Jihoon Kang
f55a5f7b37 Copy exportable artifacts to module sdk snapshot
This change modifies the copy rules of the sdk_library when generating
the module sdk snapshots so that the exportable artifacts (annotations
zip, api file, removed api file, srcjar file) are copied instead of the
everything artifacts.

In order to satisfy the prebuilts compatibility, this feature is flag
guarded by the build flag "RELEASE_HIDDEN_API_EXPORTABLE_STUBS"

Test: m --no-skip-soong-tests
Bug: 315027929
Change-Id: I8bf5bb1f196aa9b5db78ba4677caa5f4337e3021
2024-01-12 01:50:19 +00:00
Jihoon Kang
bd093457e2 Enable hiddenapi check for exportable stubs
This change modifies the dependencies of the hiddenapi to always depend
on the exportable stubs, instead of the currently utilized everything
stubs.

To support this, the full api surface exportable stubs are defined in a
separate change at the `frameworks/base` project. Note that the full api
surface exportable stubs are only used for the hiddenapi purpose, and
`sdk_version` continues to utilize the currently existing everything
stubs.

Currently, this feature is hidden behind the build flag
"RELEASE_HIDDEN_API_EXPORTABLE_STUBS". This feature will be fully
enabled once metalava fully supports handling of the flagged apis.

Test: ENABLE_HIDDENAPI_FLAGS=true m
Bug: 317426356
Change-Id: I109b7cd27b20ceffcdf1766ab8106b0c276be2b3
2024-01-12 01:03:10 +00:00
Jihoon Kang
9272dccb1e Add defaults support for bootclasspath_fragment module type
This change transforms the bootclsspath_fragment module into a
defaultable module, in order to modify the "art-bootclasspath-fragment"
module definition based on the build flag in
https://r.android.com/2897389

Test: m nothing
Bug: 315027929
Change-Id: I01ba7b15e4fcdea9bd31c369110a3c9ee38bc9f6
2024-01-12 01:02:45 +00:00
LaMont Jones
ed89443a0f Merge changes Iaf6d45a4,Ic56e8ef3,I11f0a0b5 into main am: 15b031e10e am: 0f2753094a am: 82cf614b7e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2901516

Change-Id: Iafb7bcff23771b8342fc9adb99f679645f83b83c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-10 21:14:15 +00:00
Dennis Shen
cdb407e795 Merge "Enforce one aconfig_declaration per aconfig package" into main am: 2127887e32 am: 31a87f5977 am: 8c0e06052d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2901767

Change-Id: Ib99cde6b13bf0f64910cf693aa6cb315fc546be4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-10 14:39:50 +00:00
LaMont Jones
afe7baf47d Propagate aconfig providers for more modules.
Bug: 308625757
Test: manual
Change-Id: Iaf6d45a4259f1c6c34476c34c431344283ae2830
2024-01-10 14:03:30 +00:00
LaMont Jones
acae2d7656 move SetAconfigFileMkEntries to android
This will need to be called by some modules handled in android.

Bug: 308625757
Test: manual
Change-Id: Ic56e8ef3a453c59866aab6d39a21108cf8536b56
2024-01-10 14:03:29 +00:00
Dennis Shen
2127887e32 Merge "Enforce one aconfig_declaration per aconfig package" into main 2024-01-10 12:46:06 +00:00
Treehugger Robot
e97a38947f Merge "Update released flagged apis rule" into main am: d06bdb0310 am: 690b099a4c am: 1744b8d43a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2901995

Change-Id: I199da491a72ab2a8ee4484c372b98ee582aa02d3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-10 03:56:03 +00:00
Treehugger Robot
6fa5af612e Merge "Replace panic with ModuleErrorf" into main am: ec3887ad2f am: db7220eb70 am: 1ef21535e7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2901513

Change-Id: I3e894707ca4a3866046de2f53d7c8c1ebd59477b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-10 02:17:46 +00:00
Treehugger Robot
d06bdb0310 Merge "Update released flagged apis rule" into main 2024-01-10 02:00:54 +00:00
Dennis Shen
4e7773d81e Enforce one aconfig_declaration per aconfig package
Bug: b/319121098
Change-Id: Ibe3f1587ed7754f00f464cf385ce51ee9a142412
2024-01-10 01:53:49 +00:00
Jihoon Kang
125b0a7639 Update released flagged apis rule
The aconfig command has been recently updated to fully specify the
output format instead of passing the keyword format (e.g., bool). This
change reflects the change in the aconfig tool.

Test: m art.module.public.api && inspect the generate released-flagged-apis-exportable.txt output
Change-Id: I620b7f34c346288ca87342448f50a0e90813304f
2024-01-10 00:59:12 +00:00
Treehugger Robot
ec3887ad2f Merge "Replace panic with ModuleErrorf" into main 2024-01-10 00:16:52 +00:00
Spandan Das
59a4a2b8d2 Replace panic with ModuleErrorf
This is a followup cleanup for aosp/2876754 and replaces panic with
ctx.ModuleErrorf. The latter creates a more expressive build error.

Implementation details
- export moduleErrorf interface from build/soong/android. This minimal
  interface will be used as a parameter for `DexJarBuildPath`
- Add ModuleErrorf to the function signature of DexJarBuildPath. This
  parameter only gets used for Import and SdkLibraryImport structs.
  These two can have duplicate deapexer definitions, and ModuleErrorf
  will be used to report that error
- Create a minimal implementation of `ModuleErrorf` in tests of java and
  apex

Test: m nothing --no-skip-soong-tests
Change-Id: I0febec651f40c3f04deb957e64133c94b80fbd78
2024-01-09 22:53:52 +00:00
Treehugger Robot
89274cc495 Merge "Fix the static rule for generating the revert annotations" into main am: 8f17189ced am: ea51ab0e78 am: f2a891cfb2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2901993

Change-Id: I9cd78c67203196cb8a121c067e46246ccc96701a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-09 22:16:15 +00:00
Jihoon Kang
150d87fce0 Fix the static rule for generating the revert annotations
While the static rule depends on the keep-flagged-apis binary, the
command deps was mistakenly not specified. This change fixes the rule.

Test: m
Change-Id: I4875ac516e0e03389eb6a09d720c94f28710fbc9
2024-01-09 19:23:36 +00:00
Jihoon Kang
ba264d8285 Merge "Generate "exportable" stubs library in java_sdk_library" into main am: 539b46b6bd am: 3d1d1d4e39 am: 8a85649b99
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2883427

Change-Id: I5b6f7d5232f7d233d8c8db2fd9b03656d51c5f63
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-09 08:06:49 +00:00
Jihoon Kang
3247e442b3 Merge "Enable droidstubs to export "exportable" artifacts" into main am: 0d2afbbfc0 am: 6530b21ec5 am: 746573a8dd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2890315

Change-Id: If9fb92eab12bc4b2021fcb569a8d1d12af2aba6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-09 08:06:38 +00:00