Commit Graph

8704 Commits

Author SHA1 Message Date
Steven Moreland
0db999c45e ndk_library: limit exports
The NDK should stand alone, and the libbinder_ndk case
is created because libbinder_ndk in the NDK used to
contain extra C++ headers, but these were moved into
the SDK to be next to AIDL. Since many modules depend
on these headers, exports are only allowed for this case.

Bug: 357711733
Test: build with neverallow breaking, for instance:

error: frameworks/wilhelm/Android.bp:56:1: module "libOpenSLES.ndk" variant "android_x86_64_silvermont_sdk_shared_21": violates neverallow requirements. Not allowed:
        module types: ["ndk_library"]
        properties matching: "Export_header_libs" matches: .is-set
        EXCEPT in dirs: ["frameworks/native/libs/binder/ndk/"]

Change-Id: I9a32d3cb7f644fb5dbc1e8072894f2f585b2cd6d
2024-09-03 23:03:37 +00:00
Colin Cross
a6182ab2fa Move checkbuild targets of Soong modules into Soong
Pass the name of Soong's checkbuild target for each module to
Make so that it can depend on it from the main checkbuild rule.
This will give better control over which files get built, allowing
checkbuild to skip the jar combining step when transitive classpath
jars are enabled.  The per-module checkbuild targets are passed to
make instead of added directly as a dependency of checkbuild in order
to maintain the existing behavior of only building modules exposed
to make in checkbuild.

Also tweak the existing calls to CheckbuildFile and add
InstallFileWithoutCheckbuild to match the files that are
in the Make-based checkbuild.

Bug: 308016794
Test: m checkbuild
Change-Id: Ic5140819381d58f4d00f23a7a12447950c4cf268
2024-09-03 14:52:19 -07:00
Spandan Das
ed93a620c6 Merge "HideFromMake in apexTransitionMutator should respect special cases" into main am: c965be6ca2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3249488

Change-Id: I4911340085cb4e41229a81875ff27c24c61a04ac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-03 16:38:07 +00:00
Spandan Das
c965be6ca2 Merge "HideFromMake in apexTransitionMutator should respect special cases" into main 2024-09-03 16:32:29 +00:00
Jiyong Park
a574d535b5 Make overrides work in Soong
This change adds `overrides` property to all module types. It is used
to prevent another module (or modules) from being installed or packaged.

Bug: 330141242
Test: go test ./...

Change-Id: I4f05c603f0c5dbb699d00327882c7498472b59de
2024-09-02 19:58:38 +09:00
Yi Kong
0111a27449 Remove workaround for coverage boot failure
Bug: 269981180
Change-Id: I81399836b588b7a579174b1b6700341d7108d49e
2024-09-02 07:32:41 +00:00
Spandan Das
afa3add57e HideFromMake in apexTransitionMutator should respect special cases
At ToT, platform variants of modules are hidden from make, unless the module
has `//apex_available:platform` in its Android.bp file. However, there
are special cases which always require the platform variant to be
visible to make - e.g. bootstrap bionic libraries.

`markPlatformAvailability` handles these special cases. This CL updates
the subsequent apexTransitionMutator to hide the platform variant when
module.NotAvailableForPlatform is true in addition to the existing
module type specific `AvailableFor` check

Test: no diff in file_list.txt
Bug: 281077552
Change-Id: Ie9d7341e206276ff96d3d64fec21b8f5dcfd6ceb
2024-08-31 02:26:35 +00:00
Jihoon Kang
9e40f8f9b4 Merge "Revert^4 "Implement detecting container violations."" into main am: 7344482ff3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3248019

Change-Id: I440053bd684fa56172b82b4012348bd0a93e84c5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-30 20:21:28 +00:00
Jihoon Kang
7344482ff3 Merge "Revert^4 "Implement detecting container violations."" into main 2024-08-30 20:18:53 +00:00
Cole Faust
b93f7fe73c Add tests for configurable PostProcessors
Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: Iaaff66844ebe0b2fb19148bd07562785b12cd7e9
2024-08-30 13:04:37 -07:00
Treehugger Robot
dd209716cc Merge "Add aconfig_storage_reader_java to the global container violation allowlist" into main am: 7a2a25492a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3248020

Change-Id: I9f5a38caa0104d798622fb63aab7e280885151bd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-29 23:29:18 +00:00
Treehugger Robot
7a2a25492a Merge "Add aconfig_storage_reader_java to the global container violation allowlist" into main 2024-08-29 23:26:15 +00:00
Jihoon Kang
bf65d1b631 Add aconfig_storage_reader_java to the global container violation allowlist
The module is implicitly added as a dependency for all
java_aconfig_library modules, but does not generate the stubs.

Test: CI
Bug: 338660802
Change-Id: I6ef0f5f5f445e6f70debc3f79e3fd81ed2331366
2024-08-29 18:49:00 +00:00
Jihoon Kang
85bc193805 Revert^4 "Implement detecting container violations."
This change introduces a method to detect violating inter-container
dependencies between modules. The method is run in
`ModuleBase.GenerateBuildActions`, after the container info provider is
set. Given that the provider of the direct dependencies would have been
set at this time, the method utilizes this information to determine
the violations, which are introduced in https://r.android.com/3141104.

Note that this enforcement does not turn all inter-container
dependencies as errors. Instead, it will only turn dependencies that
matches the pre-defined violations into errors. Even if the dependency
matches the violation, an error will not be thrown if the dependency
satisfies any of the exception functions (e.g. the dependent module is
stubs, or the two modules belong to the same apexes).

Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: Ib9ddc0761fa46f1309b1a1a4f759d9a4e04fd70e
2024-08-29 17:55:00 +00:00
Yu Liu
a53f951951 Merge "Remove containersInfo, complianceMetadataInfo and aconfigFilePaths from ModuleBase." into main am: 11d8b6e8d3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3246821

Change-Id: I372ee0b7d6769706acee3887bf90ac3d9df20295
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-29 17:15:26 +00:00
Yu Liu
11d8b6e8d3 Merge "Remove containersInfo, complianceMetadataInfo and aconfigFilePaths from ModuleBase." into main 2024-08-29 17:07:05 +00:00
Kiyoung Kim
74408202e3 Add VINTF fragment modules into required libs of modules-info
Currently modules-info.json misses modules from vintf_fragment_modules
because it was not handled from Soong. This change adds
vintf_fragment_modules as part of required modules of modules-info.json
so it can be handled from any other logic handles build information with
the json file.

Bug: 322089980
Test: An artifact depends on the modules-info.json handles
vintf_fragments modules properly.

Change-Id: I09a61b2ed201099a9d3b05dbed061d0366bb9255
2024-08-29 17:46:44 +09:00
Priyanka Advani (xWF)
c2ba6683c5 Merge "Revert^3 "Implement detecting container violations."" into main am: 88a8daf8ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3248525

Change-Id: I7969a4be11e013e100f4be9fb13914244b094b7f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 23:30:03 +00:00
Priyanka Advani (xWF)
88a8daf8ca Merge "Revert^3 "Implement detecting container violations."" into main 2024-08-28 23:20:03 +00:00
Priyanka Advani (xWF)
33b3a638a5 Revert^3 "Implement detecting container violations."
2a88491afc

Change-Id: Iba4527f391a093703978fe01177b56fec4604b28
2024-08-28 23:10:29 +00:00
Jihoon Kang
4e373a7904 Merge changes Ia693c4a5,I8e5620d2 into main am: c14be38f1a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3247222

Change-Id: Id0c06c93eda0e4978d9df052542370f28e64da38
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 21:43:02 +00:00
Jihoon Kang
c14be38f1a Merge changes Ia693c4a5,I8e5620d2 into main
* changes:
  Revert^2 "Implement detecting container violations."
  Define additional container violations
2024-08-28 21:35:16 +00:00
Jihoon Kang
4508ca9e70 Define additional container violation allowlist
These entries are proprietary, which are defined in vendor/google/build
in git_main, but vendor projects do not exist in
aosp-main-future-without-vendor branch. This change adds entries that
are supposed to be included in the future aosp release.

Ignore-AOSP-First: Intended aosp-main-future only change
Test: m nothing
Bug: 338660802
Change-Id: If48f56757e069a467a8ae0466820f27f97b011a8
2024-08-28 19:25:33 +00:00
Jihoon Kang
2a88491afc Revert^2 "Implement detecting container violations."
This change introduces a method to detect violating inter-container
dependencies between modules. The method is run in
`ModuleBase.GenerateBuildActions`, after the container info provider is
set. Given that the provider of the direct dependencies would have been
set at this time, the method utilizes this information to determine
the violations, which are introduced in https://r.android.com/3141104.

Note that this enforcement does not turn all inter-container
dependencies as errors. Instead, it will only turn dependencies that
matches the pre-defined violations into errors. Even if the dependency
matches the violation, an error will not be thrown if the dependency
satisfies any of the exception functions (e.g. the dependent module is
stubs, or the two modules belong to the same apexes).

Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: Ia693c4a53369c757a3e96656a769405c759b111c
2024-08-28 18:01:25 +00:00
Jihoon Kang
a1527e5e23 Define additional container violations
This violation was only triggered for specific TARGET_PRODUCT builds.

Test: build/soong/scripts/build-ndk-prebuilts.sh
Bug: 338660802
Change-Id: I8e5620d26eff83bdbda79da8bb8237056cb9dfbd
2024-08-28 17:59:52 +00:00
Yu Liu
dd898d855b Merge "Remove packagingSpecsDepSet from ModuleBase." into main am: b41b74fa2c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3246174

Change-Id: Ib5b209deff46e89873e2e053daa8b1fbe791d929
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 17:14:25 +00:00
Yu Liu
b41b74fa2c Merge "Remove packagingSpecsDepSet from ModuleBase." into main 2024-08-28 17:12:07 +00:00
Satish Yalla
b2407feae1 Merge "Revert "Implement detecting container violations."" into main am: f2d6e5004f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3244001

Change-Id: Ibfcf7b1965a52402917a32a203bf55cb82d1626b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 05:52:08 +00:00
Satish Yalla
f2d6e5004f Merge "Revert "Implement detecting container violations."" into main 2024-08-28 05:48:21 +00:00
Satish Yalla
b2b1ef63e2 Revert "Implement detecting container violations."
This reverts commit bb678f82d6.

Reason for revert: Droidmonitor created revert due to b/362639013. Will be verifying through ABTD before submission.

Change-Id: I1dcb71672eeb44a17cf176d3731bcaf9aaf81edf
2024-08-28 05:10:31 +00:00
Treehugger Robot
30f3795688 Merge "Implement detecting container violations." into main am: 26f071db92
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3155659

Change-Id: Id60c6920d6c964193b53c8b5f7026472c5fcacb0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 04:43:21 +00:00
Treehugger Robot
26f071db92 Merge "Implement detecting container violations." into main 2024-08-28 04:39:12 +00:00
Treehugger Robot
9cfb2a1f9e Merge "Add jacocoagent to allowlisted dependencies" into main am: dd5fa433f7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3241288

Change-Id: I86743dbb317ed37219a7ec8c19db90cf05e716d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 04:16:36 +00:00
Treehugger Robot
dd5fa433f7 Merge "Add jacocoagent to allowlisted dependencies" into main 2024-08-28 04:12:28 +00:00
Jiyong Park
eb9dc6e76d Merge "remove unused variable" into main am: c7df8bf64b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3241515

Change-Id: Ie72d28a8587fd5fd362e656ff79b2f04d74e16ff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 03:40:41 +00:00
Jiyong Park
c7df8bf64b Merge "remove unused variable" into main 2024-08-28 03:35:59 +00:00
Treehugger Robot
e1028aa539 Merge changes from topic "ctx_in_ideinfo" into main am: 9cbbafe300
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3246818

Change-Id: Ia2b721e9967c0772acd7dd261ec18315f6c26b5e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 00:53:10 +00:00
Treehugger Robot
9cbbafe300 Merge changes from topic "ctx_in_ideinfo" into main
* changes:
  Add ctx argument to IDEInfo()
  Add configurable property support to neverallow
2024-08-28 00:49:13 +00:00
Yu Liu
4e5460e156 Merge "Remove moduleInfoJSON from ModuleBase." into main am: 713f415cde
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3243313

Change-Id: I8f89d3e41948e4b26b098c9fdb9523c5f214eb3e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 00:37:24 +00:00
Yu Liu
713f415cde Merge "Remove moduleInfoJSON from ModuleBase." into main 2024-08-28 00:32:50 +00:00
Inseob Kim
bb6ebb056b Merge "Include TARGET_ODM_PROP to odm/etc/build.prop" into main am: 09557a0aa3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3237749

Change-Id: Ic2eb7fac04e50bb4dfd98cd2757e3d15a5e83090
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-28 00:20:56 +00:00
Inseob Kim
09557a0aa3 Merge "Include TARGET_ODM_PROP to odm/etc/build.prop" into main 2024-08-28 00:15:14 +00:00
Yu Liu
9a99313ac6 Remove containersInfo, complianceMetadataInfo and aconfigFilePaths from ModuleBase.
Bug: 358425833
Test: Manually verified all the generated ninja and mk files and CI.
Change-Id: I896659491e75bb2eacca93d2e4a83ead50e218d2
2024-08-28 00:02:48 +00:00
Treehugger Robot
cc02a664cf Merge "Make IdeInfo into a provider" into main am: 78a3761bde
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3245754

Change-Id: If90b650d7e0832de74a858c541277f9658f477c3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-27 23:55:40 +00:00
Treehugger Robot
78a3761bde Merge "Make IdeInfo into a provider" into main 2024-08-27 23:49:10 +00:00
Yu Liu
eb6d705d1f Remove packagingSpecsDepSet from ModuleBase.
The external code that depends on this field has been changed to use the
new interface, this field can be removed now.

Bug: 358425833
Test: Manually verified all the generated ninja and mk files and CI.
Change-Id: I12cb6e22c091bc90d3a3cbbf554e81b8dc27e264
2024-08-27 23:26:28 +00:00
Yu Liu
4297ad9046 Remove moduleInfoJSON from ModuleBase.
Bug: 358425833
Test: Manually verified all the generated ninja and mk files and CI.
Change-Id: I145272636b87b20e49c05e847336737cccc20f79
2024-08-27 23:23:26 +00:00
Yu Liu
457cf82ecc Merge "Remove 6 install related fields from ModuleBase." into main am: 3e4458bf52
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3245217

Change-Id: Iad60c890b14ced77921ca70b42fb71a102a70389
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-08-27 23:21:34 +00:00
Cole Faust
b36d31d870 Add ctx argument to IDEInfo()
The IDEInfo() methods read properties. To make those properties
configurable, we need a context to evaluate them with.

Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: I26d4b7084439b3006e50b02277298f74a929e1aa
2024-08-27 16:04:28 -07:00
Cole Faust
5b35cb9aef Add configurable property support to neverallow
Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: I50b8bf3cc2e3520a12932b0a0e1041e079379590
2024-08-27 15:51:19 -07:00