Commit Graph

83153 Commits

Author SHA1 Message Date
Aleks Todorov
1eb06c4a67 genrule: Make cmd configurable
Bug: 325067608
Bug: 325444956
Test: m
Test: m [custom genrule with select]
Change-Id: I3a2307a8d0f65ee419b935a30742f96e5733a81f
2024-06-04 18:20:29 +01:00
Yi Kong
36c6af6bd2 Revert^6 "Upgrade to clang-r522817"
This reverts commit 55d4abde48.

Reland after fixes

Change-Id: Ic22c58cd4735c737849379de86097605fccc2036
2024-06-04 16:54:06 +00:00
Justin Yun
605b5da192 Regard out/soong/release-config as a source directory
Files in out/soong/release-config are generated from lunch or kati
configuration phase. They don't have rules in ninja, but always
provided as source files.

Bug: 324996303
Test: m checkbuild
Change-Id: Ibfb76a8c58a81a4d768b29d80151fa47e2ebb9c1
2024-06-04 11:28:31 +09:00
Steven Moreland
dabe2d4336 Ignore_max_page_size option.
Option for specific prebuilts to opt out of
the prebuilt page size check.

Like allow_undefined_symbols.

Bug: 342466032
Test: build using this to opt out
Change-Id: I335c0beb66c10b260e7c3e405f05027e7718fe07
2024-06-04 01:27:30 +00:00
Kiyoung Kim
8f05c54b9d VNDK is fully deprecated from Soong
VNDK is fully deprecated, so KeepVndk variable will have fixed value.
This change removes KeepVndk config value, and updates any logic using
the value as VNDK is always deprecated.

Bug: 330100430
Test: Soong tests passed
Ignore-AOSP-First: Resolve merge conflict
Change-Id: I98b7590c059883e06bf3fb236d88966de64991d7
Merged-In: I98b7590c059883e06bf3fb236d88966de64991d7
2024-06-04 01:09:15 +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
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
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
Joe Onorato
4c1b3ebc67 Merge changes from topic "list_releases" into main am: 5219ed0b4b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3109520

Change-Id: Ic77ac0a5643355979146c4a4fc70e695c8514ca8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 20:27:07 +00:00
Joe Onorato
e971cfdbeb Add standalone list_products and list_variants commands. am: c6e5a45667
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3108309

Change-Id: Icbb61c36a3dff0e74d13f6e6067679a48d003bfb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 20:27:01 +00:00
Joe Onorato
5219ed0b4b Merge changes from topic "list_releases" into main
* changes:
  Add list_releases command
  Add standalone list_products and list_variants commands.
2024-05-31 20:22: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
Treehugger Robot
eaf7f7ff48 Merge "Add prior_stages: to release config" into main am: 9b8cfd5144
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3109518

Change-Id: I6b7fa4fb167b8abc9c21882a4d243f5475b29d4a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 16:42:41 +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
Treehugger Robot
9b8cfd5144 Merge "Add prior_stages: to release config" into main 2024-05-31 16:40:49 +00:00
LaMont Jones
52bbe54894 Merge "Limit release config inheritance from aliases" into main am: ff1d27d5b4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3107539

Change-Id: I5d1d7ccaeda1b338d3363fea66a48bdfb312daa9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 15:50:12 +00:00
LaMont Jones
ff1d27d5b4 Merge "Limit release config inheritance from aliases" into main 2024-05-31 15:47:30 +00: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
Alyssa Ketpreechasawat
54ddc87436 Merge "Add RELEASE_APEX_CONTRIBUTIONS_TELEMETRY_TVP build flag" into main am: 4aff462533
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3106710

Change-Id: I63c312ed4a451e108319fdeda87d5b7fe1271c00
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 08:39:18 +00:00
Alyssa Ketpreechasawat
4aff462533 Merge "Add RELEASE_APEX_CONTRIBUTIONS_TELEMETRY_TVP build flag" into main 2024-05-31 08:36:43 +00:00
Chris Wailes
adb4cb0ca1 rustc-1.78.0 Build 11910258
Bug: https://issuetracker.google.com/issues/333887339
Test: m rust
Change-Id: Ia90ba0d805e2319b3142a16d69914d9ee036810c
2024-05-31 00:10:03 -07:00
LaMont Jones
756bd68cde Limit release config inheritance from aliases
If the release config has a name matching build prefixes, it may not
inherit from an alias.

Bug: 340208722
Bug: 328495189
Test: manual
Change-Id: Idb7b1fa372db980c5732b700663553b7a9bf4a36
2024-05-30 20:23:01 -07:00
LaMont Jones
5195b82f42 Add prior_stages: to release config
Include those paths in the inheritance graph.

Bug: 348495189
Test: manual
Merged-In: I993af3a34ab7dd9a3346c6ffccb17e7abff23545
Change-Id: I993af3a34ab7dd9a3346c6ffccb17e7abff23545
2024-05-30 20:22:49 -07: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
Treehugger Robot
6e1a3815d8 Merge "Make dex_preopt.enable_prof_rewrite=false an error for optimized apps" into main 2024-05-31 02:28:03 +00:00
Treehugger Robot
813171d85d Merge "Create inheritance graph" into main am: 55ee3fcef6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3108303

Change-Id: If27c0b0229a12d38a25d7520550994639475d3a1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 00:43:15 +00:00
Treehugger Robot
55ee3fcef6 Merge "Create inheritance graph" into main 2024-05-31 00:38:07 +00:00
Treehugger Robot
9a4838d047 Merge "Better default value for RELEASE_PLATFORM_VERSION" into main am: fd0715b5e9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3107541

Change-Id: I314bc16abe8d64dba9b6f4d12505a0b19e82bf2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 00:35:05 +00:00
Treehugger Robot
fd0715b5e9 Merge "Better default value for RELEASE_PLATFORM_VERSION" into main 2024-05-31 00:32:45 +00:00
LaMont Jones
ed22f82c01 Create inheritance graph
release-config now creates `inhertance_graph-${TARGET_PRODUCT}.dot`
showing the inheritance graph for all release configs present for
${TARGET_PRODUCT}.

Bug: 328495189
Test: manual, TH
Change-Id: I79242eaa848e0374b33f376e44d8938e9d398e21
2024-05-30 16:11:58 -07:00
Joe Onorato
53f3057037 Add list_releases command
Bug: 340648588
Test: list_releases
Change-Id: Ibce4704c64620b74c24952f16c2be902d8483f02
2024-05-30 15:52:09 -07:00
Joe Onorato
c6e5a45667 Add standalone list_products and list_variants commands.
get_releases coming soon

Test: build/make/tools/envsetup/run_envsetup_tests
Bug: 340648588
Change-Id: I32e7b868d04656e39f277bb37661eadab9751d7c
2024-05-30 15:39:21 -07:00
LaMont Jones
5a48f0d7f2 Better default value for RELEASE_PLATFORM_VERSION
If the release config name is a build prefix and different from the
inherited value, set RELEASE_PLATFORM_VERSION based on the release
config name.

Bug: 348495189
Test: manual
Change-Id: I95d715150cba9b57e343a8b8364d36f38dcc18a3
2024-05-30 14:43:48 -07: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
Alyssa Ketpreechasawat
dcda1c8906 Add RELEASE_APEX_CONTRIBUTIONS_TELEMETRY_TVP build flag
Bug: 342624660
Test: check com.google.mainline.go.telemetry_tplus in out/soong/prebuilt_info.json (go target)
Change-Id: I201b58c08772669b54c396b4c4dbeccbb4b5147c
2024-05-30 20:24:29 +00:00
Spandan Das
57c5b49a65 Handle missing apex_contributions am: a866713ddb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3107540

Change-Id: I57c743f75192f1f8cd3e39720cade587f97fbb8a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 19:12:21 +00:00
Spandan Das
a866713ddb Handle missing apex_contributions
Some minimal branches have v/g_s/build/release (where apex_contibutions
have been set to mainline prebuilts), but not v/g/b (where the apex_contributions
for prebuilts have been defined). These minimal branches are unsuitable
for building a product that consume mainline prebuilts, but they would
still like to do aosp product builds.

aosp products should not use the mainline prebuilts anyways, but this
has been implemented as
- always create the dependency edge to the selected apex contributions
- do not visit the dependency edge subsequently if
  IgnoreApexContributions is set set to true

To support aosp product builds in minimal branches, this CL updates the
implementation to skip creating the dependency edge when
IgnoreApexContributions is set to true

Test: go test ./android
Change-Id: Iaa0971760e64f9b7a03542f179231ce2268b6616
2024-05-30 16:51:51 +00:00
Fabien Sanglard
7166669819 Add support for recent Mac SDK (13, 14)
Fixes: 343589123
Test: Manual

Change-Id: I0fec903ff44119768eb2d84ddd5b8925d19d92ef
2024-05-30 09:30:23 +02:00
Spandan Das
e0063f7f10 Merge "Override modules should always override source modules" into main am: 2f9af23734
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3106441

Change-Id: Ib33a4421e62c94bb426d1ef46c2e5f9312b78a88
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 16:45:57 +00:00
Spandan Das
2f9af23734 Merge "Override modules should always override source modules" into main 2024-05-29 16:25:45 +00:00
Jiyong Park
1d6f33918d Merge "Required deps don't track native bridge architectures" into main am: a03e16f1b9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3105117

Change-Id: I72e6bb88e1a66b604a9ccc59d84a664bcbce0fea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 04:20:24 +00:00
Jiyong Park
a03e16f1b9 Merge "Required deps don't track native bridge architectures" into main 2024-05-29 03:59:58 +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
Treehugger Robot
8723705fad Merge "Use r8/d8 optimized profile for dexpreopt" into main 2024-05-29 02:15:37 +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