Commit Graph

8403 Commits

Author SHA1 Message Date
Sam Saccone
aced8afc29 Merge "Only generate kythe xrefs on the primary module" into main am: 6ace4cf906 am: 695908cf6d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3126514

Change-Id: I8b5a24640daff1a5ad620a19379cb3a762b35223
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-11 23:32:59 +00:00
Zi Wang
1b8e0b1e08 [conflict] Merge "PrebuildEtcModule no longer implements OutputFiles method" into main am: 3125b75d5d am: 05ae2e9d35
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/27791354

Change-Id: Ic054c0a0c4edbeb5b8afd395b975bd731724cc18
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-11 23:32:21 +00:00
Sam Saccone
695908cf6d Merge "Only generate kythe xrefs on the primary module" into main am: 6ace4cf906
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3126514

Change-Id: Id836a095e7f3c3f22fca1ed470b832da6677fb59
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-11 23:17:50 +00:00
Sam Saccone
6ace4cf906 Merge "Only generate kythe xrefs on the primary module" into main 2024-06-11 20:23:38 +00:00
Cole Faust
9decf834ce Only generate kythe xrefs on the primary module
Currently the kythe build is hitting the 6 hour timeout, but we're
generating kythe files for all variants. Generating them only for
the primary variant should drastically cut its runtime.

Bug: 345440993
Test: Presubmits
Change-Id: I3846b25c7f0bc22153e4f0a0cb81c5015854dd70
2024-06-11 11:50:47 -07:00
Zi Wang
05ae2e9d35 [conflict] Merge "PrebuildEtcModule no longer implements OutputFiles method" into main am: 3125b75d5d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3123797

Change-Id: I9acefd1def06cefc153514c766489b341fa86b2e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Ignore-AOSP-First: to resolve merge conflict
2024-06-11 18:18:14 +00:00
mrziwang
e2346b87d9 PrebuildEtcModule no longer implements OutputFiles method
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

These module types are included in this change:
linker_config
llndk_libraries_txt
sanitizer_libraries_txt
java_sdk_library_xml
vndksp_libraries_txt
vndkcore_libraries_txt
vndkprivate_libraries_txt
vndkpublic_libraries_txt

Test: CI
Bug: 339477385
Change-Id: I35575bbad137df5ff8001db9a61ba5b3d13eaa6d
2024-06-10 15:17:07 -07:00
Jihoon Kang
789a53f28c Merge "Remove exportable modules when generating snapshots targeting older platform" into main am: 0030148fcb am: 871393aa37
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3119791

Change-Id: I983606933284aa221a7d96e40a132d21a5eae26c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-10 21:30:51 +00:00
Jihoon Kang
871393aa37 Merge "Remove exportable modules when generating snapshots targeting older platform" into main am: 0030148fcb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3119791

Change-Id: I12200b4516475e10351eb8d7703370eff96e2c4f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-10 21:00:58 +00:00
Paul Duffin
61058b16f6 Merge "Hide some noisy Metalava issues" into main am: ccad8ff606 am: 79cb62133f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3121892

Change-Id: I4252c15b5c5a4ffe3e5a7318ae11616fee422bc9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-10 20:49:00 +00:00
Jihoon Kang
0030148fcb Merge "Remove exportable modules when generating snapshots targeting older platform" into main 2024-06-10 20:46:09 +00:00
Paul Duffin
79cb62133f Merge "Hide some noisy Metalava issues" into main am: ccad8ff606
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3121892

Change-Id: I6c714fe3a408c37ea3fe5a3231caa511217979ab
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-10 20:30:47 +00:00
Paul Duffin
b679bdd997 Hide some noisy Metalava issues
Changes https://r.android.com/3106478 and https://r.android.com/3110137
unintentionally started reporting some previously hidden issues as
error when new. This change hides those issues again.

Bug: 343157584
Test: m checkapi before and after
Change-Id: I2e04c919ce5c4f2b39fab65afd13bc31725031f0
2024-06-10 20:46:05 +01:00
Jihoon Kang
98aa8fa840 Remove exportable modules when generating snapshots targeting older platform
This change modifies the contents of the generated Android.bp files so
that when generating a snapshot on a older platform, the "exportable"
modules are removed from the bp files, as the "exportable" modules are
first introduced in V and do not exist in older platforms.

Bug: 345162614
Test: ABTD
Change-Id: I2dba51b98deec7805bd796647a66981f237c55a9
2024-06-10 18:12:35 +00:00
Treehugger Robot
71d3e321ae Merge "Identify profile providing apexes using ApexInfo" into main am: 4039516f32 am: b9bc2f388a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3114508

Change-Id: Ife75c0ad174a23f3c7ef593161ac85cd39d37369
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-06 01:41:27 +00:00
Treehugger Robot
b9bc2f388a Merge "Identify profile providing apexes using ApexInfo" into main am: 4039516f32
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3114508

Change-Id: Iea4312baee09a9114748f008321050729e3e0b33
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-06 01:25:52 +00:00
Spandan Das
7fd531f5d1 Identify profile providing apexes using ApexInfo
`com.android.art` and its overrides include a `etc/boot-image.prof`
which is used on device for profile guided dexopt.
```
$ deapexer list <path_in_product_out>/com.android.art.apex | grep
boot-image
$ deapexer list <path_in_product_out>/com.google.android.art.apex | grep
boot-image
```

To identify that we should include a boot-image.prof in the override
apexes, we currently look at ApexInfo.InApexVariants in the context of
art's bootclasspath fragment module. InApexVariants are colated based on
the min_sdk_version of the top-level apex. At ToT, we have a single
variant of `art-bootlcasspath-fragment` for aosp art apex, google art
apex and google go art apex.

When google go art apex overrides the min_sdk_version, ApexInfo is
cleaved, and two distinct variants of art-bootclasspath-fragment are
created. The one corresponding to go art apex does not know we should
include boot-image.prof

To fix this, use AllApexInfoProvider instead. If any of the apexInfos
corresponds to com.android.art, include etc/boot-image.prof

Test: Added a unit test
Test: With https://b.corp.google.com/issues/345173231#comment2 reverted,
m com.google.android.go.art && deapexer list <apex> # verified that
boot-image.prof exists

Bug: 345173231
Bug: 295311875

Change-Id: I5a0e8f74725388f05343c64f268260b1eb139ae5
2024-06-05 21:32:23 +00:00
Zi Wang
eb98cca569 Merge "Use OutputFilesProvider on bpf" into main am: 6c9fa02204 am: f1dbeb309e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3098157

Change-Id: Ide64637b755c457708c6ac802dab800064154233
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 16:46:14 +00:00
Zi Wang
f1dbeb309e Merge "Use OutputFilesProvider on bpf" into main am: 6c9fa02204
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3098157

Change-Id: I4a32747fc36aa90e19e5b8539100842e172aae69
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 16:16:34 +00:00
mrziwang
e6c8581fbe Use OutputFilesProvider on bpf
This changes makes bpf module type uses OutputFilesProvider,
instead of current OutputFileProducer for inter-module-
communication.

Test: CI
Bug: 339477385
Bug: 342406930
Change-Id: I85d1141e9f6583cc5427756107da99f56b0c7ea1
2024-06-04 22:09:13 -07:00
Ronald Braunstein
da9ec84801 Reapply "Change test_module_config from copying files to symlink ..." am: 01d31bdc98 am: 8d3477871f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3110324

Change-Id: I9fd8aff79532608febbc875de3f5f588760c4707
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-03 23:11:21 +00:00
Ronald Braunstein
8d3477871f Reapply "Change test_module_config from copying files to symlink ..." am: 01d31bdc98
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3110324

Change-Id: I5bd85517df6119abc4a6e7631c341eba46ee21e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-03 23:03:07 +00:00
Ronald Braunstein
01d31bdc98 Reapply "Change test_module_config from copying files to symlink ..."
This reverts commit c6a321e4de.

Original commit broke whe building sdk/ndk in postsubmit because of
missing target arch.

See: https://android-build.corp.google.com/artifact/submitted/11914755/mainline_modules_sdks-trunk_staging-userdebug/latest/view/logs%2Fbuild_error.log

Reapplying originaly commit and adding fix in patchest.

Test: DIST_DIR=/usr/local/google/dist/bug TARGET_RELEASE=trunk_staging TARGET_BUILD_VARIANT=userdebug UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true packages/modules/common/build/mainline_modules_sdks.sh
Test: m general-tests
Change-Id: Id844feb7ff9750bcd5af890a9fd26f7342344965
2024-06-02 07:24:51 -07:00
Priyanka Advani
a9b48fd47f Merge "Revert "Change test_module_config from copying files to symlink ..."" into main am: d5e16ac52b am: 43f3e5557e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3109350

Change-Id: I21723557018b278e5e87dc4eaccb34b4fa785a8d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 23:52:08 +00:00
Priyanka Advani
43f3e5557e Merge "Revert "Change test_module_config from copying files to symlink ..."" into main am: d5e16ac52b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3109350

Change-Id: Id5cb5de0f9c9046e7edcf2d6d8e299a5bc3d1986
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 23:43:54 +00:00
Priyanka Advani
d5e16ac52b Merge "Revert "Change test_module_config from copying files to symlink ..."" into main 2024-05-31 23:39:49 +00:00
Priyanka Advani
c6a321e4de Revert "Change test_module_config from copying files to symlink ..."
Revert submission 3060229-ron-tmc-symlinks

Reason for revert: Droidmonitor created revert due to b/344045516

Reverted changes: /q/submissionid:3060229-ron-tmc-symlinks

Change-Id: If5045366677163560cdae95c0ab74256b4b49b9a
2024-05-31 23:31:13 +00:00
Ronald Braunstein
835db8bcf5 Merge "Change test_module_config from copying files to symlink files." into main am: fb9191bcfe am: 4333b79d98
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3060229

Change-Id: Ia0df9fe69f286b04d08a4aa2713277e6f80a042c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 23:09:16 +00:00
Ronald Braunstein
4333b79d98 Merge "Change test_module_config from copying files to symlink files." into main am: fb9191bcfe
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3060229

Change-Id: I8eefa9e1fae6a3d7909d0d4638648bc1405b03b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 23:03:11 +00:00
Ronald Braunstein
fb9191bcfe Merge "Change test_module_config from copying files to symlink files." into main 2024-05-31 22:58:10 +00:00
Treehugger Robot
9a182bca8a Merge "Update exportable to handle documentation issues being errors" into main am: 1d903eb078 am: e17b902d8d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3110137

Change-Id: I93aa97dcc411d4f4e5c973438b984e43d991b7cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 18:20:06 +00:00
Treehugger Robot
e17b902d8d Merge "Update exportable to handle documentation issues being errors" into main am: 1d903eb078
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3110137

Change-Id: I16ec61988da6f1fb9f93d8e89979036a1b0eb402
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 18:11:10 +00:00
Treehugger Robot
1d903eb078 Merge "Update exportable to handle documentation issues being errors" into main 2024-05-31 18:02:54 +00:00
Paul Duffin
71527b76f6 Update exportable to handle documentation issues being errors
Follow-up to https://r.android.com/3106478 to have exportable handle
documentation issues being errors in the same way as everything does.

Bug: 343157584
Test: ./gradlew
Change-Id: Iba490e46e2ff202e2ef78f49389319ee8549fe3f
2024-05-31 17:41:10 +01:00
Ronald Braunstein
f216af5653 Change test_module_config from copying files to symlink files.
Now the derived modules will have symlink's to base's testcase dir
rather than copyfile files from base's intermediates dir.

I also removed storing the "base" module as dependency and only use
data from the provider in GenerateAndroidBuildActions and
AndroidMkEntries.
I did have to add two fields to the provider for this.

To ensure the symlinks always resolve to a physical file, I also added
goals such that building `derived-target` will also build `build-target`

Create new Make variable: LOCAL_SOONG_INSTALLED_COMPATIBILITY_SUPPORT_FILES
for tasks/general-tests.mk,device-tests.mk to read.
This allows "support" files that are installed with soong rules rather
than make rules to still end up in the zips.

Sample dir structure:
% tree -ls testcases                                                                                                                                                                                                                                                   aosp_cf_x86_64_phone[4:31:54]/0
[       4096]  testcases
├── [       4096]  FrameworksServicesTests
│   ├── [       4096]  data
│   │   └── [        851]  broken_shortcut.xml
│   ├── [       2800]  FrameworksServicesTests.config
│   ├── [      12695]  JobTestApp.apk
│   ├── [       8599]  MediaButtonReceiverHolderTestHelperApp.apk
│   ├── [      16791]  SimpleServiceTestApp1.apk
│   ├── [      16791]  SimpleServiceTestApp2.apk
│   ├── [      16791]  SimpleServiceTestApp3.apk
│   ├── [    1017763]  SuspendTestApp.apk
│   └── [       4096]  x86_64
│       └── [   79827767]  FrameworksServicesTests.apk
└── [       4096]  FrameworksServicesTests_contentprotection
    ├── [       4096]  data
    │   └── [         54]  broken_shortcut.xml -> ../../FrameworksServicesTests/data/broken_shortcut.xml
    ├── [       3005]  FrameworksServicesTests_contentprotection.config
    ├── [         41]  JobTestApp.apk -> ../FrameworksServicesTests/JobTestApp.apk
    ├── [         69]  MediaButtonReceiverHolderTestHelperApp.apk -> ../FrameworksServicesTests/MediaButtonReceiverHolderTestHelperApp.apk
    ├── [         52]  SimpleServiceTestApp1.apk -> ../FrameworksServicesTests/SimpleServiceTestApp1.apk
    ├── [         52]  SimpleServiceTestApp2.apk -> ../FrameworksServicesTests/SimpleServiceTestApp2.apk
    ├── [         52]  SimpleServiceTestApp3.apk -> ../FrameworksServicesTests/SimpleServiceTestApp3.apk
    ├── [         45]  SuspendTestApp.apk -> ../FrameworksServicesTests/SuspendTestApp.apk
    ├── [         36]  test_module_config.manifest
    └── [       4096]  x86_64
        ├── [         64]  FrameworksServicesTests.apk -> ../../FrameworksServicesTests/x86_64/FrameworksServicesTests.apk
        └── [         36]  UNUSED-FrameworksServicesTests.apk

Test: m clean && atest FrameworksServicesTests_contentprotection
Test: m clean && atest CtsDevicePolicyManagerTestCases_ParentProfileApiDisabled

Bug: b/332320956
Change-Id: I8466f253fa559bc74cef4533edf263650e96bbfb
2024-05-31 08:24:11 -07:00
Treehugger Robot
ad3f2a7140 Merge "Make dex_preopt.enable_prof_rewrite=false an error for optimized apps" into main am: 6e1a3815d8 am: 5149417e90
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3108767

Change-Id: Iaca995bd2a742df6f9673ee75ba014fda0c38248
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 02:43:12 +00:00
Treehugger Robot
5149417e90 Merge "Make dex_preopt.enable_prof_rewrite=false an error for optimized apps" into main am: 6e1a3815d8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3108767

Change-Id: I249dea1d5c71054ef022ec674d78dd936078ca4c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 02:35:21 +00:00
Spandan Das
15a67111f8 Make dex_preopt.enable_prof_rewrite=false an error for optimized apps
If profile guided dexpreopt _and_ optimization/obfuscation is true, then
apps must use the rewritten profile created by r8/d8

Bug: 335418838
Test: m nothing --no-skip-soong-tests
Change-Id: Iac45b614f43e52ac40ad1d13df0338bcafa788c3
2024-05-30 20:44:44 +00:00
Priyanka Advani
58b978f11d Merge "Revert "Set strict_mode to true"" into main 2024-05-30 18:39:01 +00:00
Kevin Liu
6a20769a50 Revert "Set strict_mode to true"
Revert submission 27234948-default_strict_mode

Reason for revert: b/343559188
Reverted changes: /q/submissionid:27234948-default_strict_mode

Change-Id: Ib06e3d269e606477d5e8f8acc9a26ebf332447a8
2024-05-30 18:20:25 +00:00
Treehugger Robot
b700e55760 Merge "Use r8/d8 optimized profile for dexpreopt" into main am: 8723705fad am: b18a30edde
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3095860

Change-Id: I67a2cc8d84fd930a20f6113a302f604eb53fa3f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 22:55:41 +00:00
Treehugger Robot
b5d52bea91 Merge "Update build to handle documentation issues being errors" into main am: 1705676dd0 am: b61caca9d4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3106478

Change-Id: I50bc06d9dea2a113ed0defd8b3871dae03d097a4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 22:11:43 +00:00
Treehugger Robot
b18a30edde Merge "Use r8/d8 optimized profile for dexpreopt" into main am: 8723705fad
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3095860

Change-Id: Ifc3c21a58ff94bf7ece2a23b1f66c35eb7e51872
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 02:33:11 +00:00
Spandan Das
3dbda18e80 Use r8/d8 optimized profile for dexpreopt
Currently, dexpreopt supports profile guided optimization. This does not
work well with r8/d8 optimization, since the checked-in profile will not
match the dex signatures after r8/d8 has optimized the dex code.

This CL introduces a new property `dex_preopt.enable_profile_rewrting`.
If set, the checked-in profile will passed as `input` to r8 via
`--art-profile <input> <output>`. The <output> from the previous command
will be used as the profile for dexpreopt.

Test: m nothing --no-skip-soong-tests
Test: m CredentialManager with https://ag.corp.google.com/27448930
and obfuscation turned on
Test: nm -U symbol.odex # contains obfuscated methods

Bug: 335418838

Change-Id: I53beed9ed76f013262f1c503de0f2b74997c2a7f
2024-05-29 01:05:05 +00:00
Treehugger Robot
b61caca9d4 Merge "Update build to handle documentation issues being errors" into main am: 1705676dd0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3106478

Change-Id: I8e5af23977fedacef49dab1b65923098cab99e09
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-28 23:20:31 +00:00
Kevin Liu
b8787e674b Merge "Set strict_mode to true" into main 2024-05-28 20:09:03 +00:00
Paul Duffin
baf34783a4 Update build to handle documentation issues being errors
Previously, documentation issues had `lint` severity (which was between
`warning` and `hide`) by default. However, a recent change in Metalava
switched documentation issues to `error`. That broke some `droidstubs`
modules that either did not specify `api_lint` or were previously allow
listed to not use `--lints-as-errors`.

This change adds `--error-when-new-category Documentation` to the
Metalava arguments on any use of `droidstubs` that did not previously
specify `--lints-as-errors` to prevent the build breakage while still
warning developers of the problem and preventing new cases being added.

Bug: 343157584
Test: ./gradlew
Change-Id: Id80bc05e2dade580b2f3ac6416aeeed6b64ba22a
2024-05-28 17:37:20 +01:00
Xin Li
8a31520ef8 Merge Android 24Q2 Release (ab/11526283) to aosp-main-future
Bug: 337098550
Merged-In: I4a6dd1c5e48db7085ea41035def31f0844948a46
Change-Id: If8ad1d0d87495bbd685f5f9f03f5eb7ea78bf192
2024-05-24 08:25:18 -07:00
Jihoon Kang
959fd4c642 Merge "Propagate DirectlyInAnyApex to transitive dependencies" into main am: d02bd377da am: d6638ef5e9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3098497

Change-Id: I2fa7154d8e24ce8db740b83dbd35fa73d02e70a3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-24 01:17:03 +00:00
Jihoon Kang
d02bd377da Merge "Propagate DirectlyInAnyApex to transitive dependencies" into main 2024-05-24 00:58:05 +00:00