Commit Graph

831 Commits

Author SHA1 Message Date
Kiyoung Kim
e623c58cc6 Install VNDK libraries into vendor or product lib with flag
Install VNDK libraries into vendor or product lib when flag
'KEEP_VNDK' is set as false from build. This flag will be used to
test while deprecating VNDK step by step.

Bug: 290157355
Test: build succeded with DEPRECATE_VNDK succeded
Test: Cuttlefish boot succeded with sepolicy disabled
Change-Id: I05b166f054113ae2775df4e310916d0ea4af3fb6
2023-07-18 02:02:57 +00:00
Cole Faust
f8231dd0ea Platform mapping-based product config
This allows us to set product variables as build settings instead
of loading them from a target's provider, which further allows us
to read product config variables in transitions.

Bug: 287539062
Bug: 269577299
Test: Presubmits
Change-Id: I8497703f706162572ceb3486240e1eb02a37f5f6
2023-07-17 16:27:08 -07:00
Treehugger Robot
ac9ba29a1c Merge "Ensure we get cross refs for Bazel-built artifacts" am: bf815a135a am: 8e9910fbcc am: b99a3def27 am: 3658def394 am: e795ed3ffa am: 9477031d76
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2643055

Change-Id: Icccb2e25df1776c814f2bfe152ff2eda0c0e32fc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 07:10:33 +00:00
Treehugger Robot
bf815a135a Merge "Ensure we get cross refs for Bazel-built artifacts" 2023-06-30 02:22:27 +00:00
Liz Kammer
36ba6b2347 Ensure we get cross refs for Bazel-built artifacts
Test: CI
Change-Id: I377dde648e023d1ac8e44b6e814475f7410cd2eb
2023-06-29 10:18:39 -04:00
Jooyung Han
080ea8595d Merge "Remove "flattened" apexes" am: 3b7411adc7 am: 46b1bdca6e am: 5916fe32b9 am: 8739572727 am: 2320afbc0a am: bc88c13029
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2632469

Change-Id: Ibba73fc9c4469631256bd94262d5bd3aed733a26
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 00:24:56 +00:00
Jooyung Han
3b7411adc7 Merge "Remove "flattened" apexes" 2023-06-23 04:09:48 +00:00
Joe Onorato
a3638040b7 Merge changes from topic "aconfig_renames" am: 9cb6a722eb am: 4b1098a3b6 am: e5342fc6e2 am: 5324f005fe am: adb94124fb am: cfbd45dcab
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2634230

Change-Id: I6268beb8dbcd3d5071d71e964fc7eee8c7435a65
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-22 18:12:32 +00:00
Joe Onorato
981c926269 Rename device_config --> aconfig and definitions --> declarations
Bug: 285303012
Test: for x in next trunk trunk_food trunk_staging ; do lunch aosp_panther-$x-eng ; m nothing ; done
Change-Id: I3375f46b3ecbbc516d1bee6ab3f80725fcccde8f
2023-06-21 15:16:23 -07:00
Treehugger Robot
71225cdb70 Merge "Remove PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES" am: be24d2733c am: f0b01a78cd am: 197aa7ee68 am: 22a6b0e927 am: ee192978dd am: 5cf1d1370f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2626018

Change-Id: I1bdc6e9ceb84573b676b91e3852ddbce489b4616
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-21 10:14:55 +00:00
Jooyung Han
eec1b3fe26 Remove "flattened" apexes
Now soong doesn't build "flattened" apexes.

Bug: 279835185
Test: m nothing (soong tests)
Test: m && launch_cvd (cuttlefish)
Change-Id: Id3c540ece1a15cecacc185da9aa17285edd2f493
2023-06-21 14:29:26 +09:00
Jooyung Han
eeeda8a94c Remove PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES
We will deprecate flattened apexes. In this change, GSI-specific make
variable (PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES) is removed. The
variable was used to install both image/flattened apexes in the GSI, so
that it works on ro.apex.updatable devices and not-updatable devices.

Now, GSI will have only image APEXes in it.

Bug: 278826656
Test: lunch gsi_arm64-userdebug && m # no flattened apexes
Change-Id: Ie5fe505b9f2a6a1687252513788fd3e16bc147c5
2023-06-20 14:31:39 +09:00
Treehugger Robot
89425ebedc Merge "Remove bazel dev mode" am: 2428d41268 am: 7d698334d3 am: 496649b1f3 am: 2920245e0f am: ce0d29a8ff am: 923475c9b3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2626534

Change-Id: I661d27dcd246927181dae949700b22a21d75e310
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-15 22:40:29 +00:00
Chris Parsons
21f80277c3 Remove bazel dev mode
This mode is no longer in use, and is dead code.

Fixes: 282809863
Test: Presubmits
Change-Id: I45ab7d7c9dee153f1cbc66262c2cf9f1e9487a28
2023-06-15 14:14:19 +00:00
Treehugger Robot
02ab2a1db5 Merge "Read BUILD files in bp2build" am: 01f8784246 am: 73daae6519 am: 14923c16f8 am: 577e59bebb am: f4125ef827 am: 2c690369ea
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2617569

Change-Id: I3c0ede4919a1cc387bbc6005f50cb28cb44a9c09
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-10 03:08:30 +00:00
Chris Parsons
8152a94816 Read BUILD files in bp2build
The parsed BUILD files will be scanned for obvious definitions of BUILD
targets which have Android.bp counterparts. In such cases, bp2build will
automatically omit conversion of these defined modules (to prevent
collisions). With this change, we no longer need one-off denylisting of
modules which have BUILD file definitions.

This has a 0.03s to 0.2s slowdown for bp2build with current state. This
impact is identical on a heavier test branch, as well. I also ran an
experiment that applied BUILD scanning to all source BUILD files
(regardless of allowlisting), and this had a 2 second slowdown.

We may want to look into parallelizing or improving the performance of
this evaluation, but it's probably not worth the effort at this time,
since the current performance hit is small.

Test: New integration test
Test: Removed libprotobuf-python from denylist and tested building the
package
Test: Treehugger

Change-Id: Ibde3bab12cd4a8fed642ad46e5344a56953bec91
2023-06-09 16:02:40 +00:00
Jihoon Kang
a3479c0cf8 Introduce product variable Build_from_text_stub am: cbcad7c62f am: 8e27c844a7 am: 10d9c21e1d am: eb81e4cdac am: 87afa05ed6 am: a5aba303de
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2612390

Change-Id: I8893db86480b09dc278e50fe42cb7baca5e5f1de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 21:47:42 +00:00
Jihoon Kang
8e27c844a7 Introduce product variable Build_from_text_stub am: cbcad7c62f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2612390

Change-Id: I1461724bf554f66f38bbd8d9569691795eef2e20
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 19:43:19 +00:00
Jihoon Kang
4190764669 Merge changes from topic "android_stubs_current_refactor"
* changes:
  Cleanup android.JavaApiLibraryName references
  Redefine core and core platform API surface java_library
  Introduce product variable Build_from_text_stub
  Introduce "Exclude_static_libs" property for Java modules
2023-06-06 19:16:25 +00:00
Steven Moreland
38962ec52e Merge "Remove SepolicySplit." am: 15a74066ea am: f4a9db7005 am: 1c21851153 am: 3137d16a1d am: 8f0f53d73b am: 7ac464d5b6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2610250

Change-Id: I2e700f96cd5a9c48efbddd5129361cc256bd17d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 02:45:31 +00:00
Steven Moreland
15a74066ea Merge "Remove SepolicySplit." 2023-06-05 23:08:24 +00:00
Jihoon Kang
cbcad7c62f Introduce product variable Build_from_text_stub
Build_from_text_stub can be used to specify static lib and exclude
static lib based on build configuration.

Bug: 285410821
Test: m
Change-Id: I083f32325c7b3ab5e88c4f5cb248c00f2094fb1e
2023-06-05 21:44:07 +00:00
Jiakai Zhang
7db6fc5f41 Merge "Add an allowlist for modules that have broken optional_uses_libs." am: 4f8b23e8e2 am: 9ec2a5568e am: e9aa9fdba0 am: ea123ebd24 am: 9e74da551e am: ad0a027256
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2612151

Change-Id: Ib50bece0819d5598b96cc1b7481cf52d0863ecdf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-05 18:37:02 +00:00
Jiakai Zhang
48203e3dee Add an allowlist for modules that have broken optional_uses_libs.
Bug: 282877248
Test: m nothing
Change-Id: I1afe9d523af0633f0428d4c15e1417db1dae4e93
2023-06-02 23:42:53 +01:00
Jiakai Zhang
fbd60faf3d Merge "Drop INTERNAL_PLATFORM_MISSING_USES_LIBRARIES." am: f508c252bb am: e36c0fa333 am: b712462847 am: b2e9deaf9a am: 982dd46413 am: a745dd69f2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2611189

Change-Id: I0c17e4a2b9ec8a5148cd532f85583cf6dcafafb2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-02 19:19:48 +00:00
Jiakai Zhang
4f65a03d30 Drop INTERNAL_PLATFORM_MISSING_USES_LIBRARIES.
Bug: 282877248
Test: Presubmit build tests.
Change-Id: Idd69433f308f5f47973ff0d5340a2399a27cb32c
2023-06-01 15:21:42 +01:00
Steven Moreland
26da122d61 Remove SepolicySplit.
Obsolete.

Bug: 257176017
Test: build&boot
Change-Id: Id639ad77f12d38507ad1a2300cb392bbfeadb9e4
2023-05-31 22:00:56 +00:00
Kiyoung Kim
b96142759c Merge "Rename build.ninja with product name" am: 5500fc89c1 am: babe56a6c8 am: 1fcb13ac2e am: 0b814fe80e am: 4704391ec7 am: d5ca114a34
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2546570

Change-Id: I4221a16074afd86ae987c84de5d612735ae05630
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-30 12:00:19 +00:00
Kiyoung Kim
5500fc89c1 Merge "Rename build.ninja with product name" 2023-05-30 07:17:08 +00:00
Kiyoung Kim
a37d9baa96 Rename build.ninja with product name
Current build.ninja does not contain any product name, while other ninja
files (such as combined ninja) do. This change adds product name to the
build.ninja so it can be separated over multiple lunch targets

Bug: 277029044
Test: build succeeded and checked if out/soong/build.ninja has been
renamed

Change-Id: I16dc71f829fd76f01b98da0d509a8e0ef6f62fa9
2023-05-25 10:09:45 +09:00
Treehugger Robot
7d6c9a6ded Merge "Sandbox inputs to aidl rule in cc" am: cd4e6a609e am: 713bbad7bd am: edc81c3ebc am: e605dc7081 am: 12b219771a am: bb2adbfa73
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2592446

Change-Id: I25eb772d3f73d182eed65e09701f503733b75a6a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-24 04:17:18 +00:00
Vinh Tran
fda7ec4179 Merge "Support sandboxing genrule" am: c1910c9e07 am: 4c2d3da52d am: 5f20657e28 am: 05dfb2cc03 am: dcf4c422e9 am: cefd24d4a9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2584923

Change-Id: Icffee9aad44f5cfa51072c29906ee915db2a96f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-24 02:09:39 +00:00
Treehugger Robot
cd4e6a609e Merge "Sandbox inputs to aidl rule in cc" 2023-05-23 23:40:35 +00:00
Vinh Tran
c1910c9e07 Merge "Support sandboxing genrule" 2023-05-23 21:29:27 +00:00
Vinh Tran
095819530a Sandbox inputs to aidl rule in cc
Bug: 279960133
Test: go test
Test: Remove hdrs prop from IDropBoxManagerService_aidl && run  BUILD_BROKEN_DISABLE_BAZEL=true m libservices && Expect an error from aidl
Change-Id: Ifdb260d8e2da9a5767f1e212393de4134b210616
2023-05-23 15:53:10 -04:00
Treehugger Robot
1befe407a1 Merge "Revert "Revert "Restrict plugins to an existing allowlist""" 2023-05-23 17:08:46 +00:00
Yu Liu
6a7940cc99 Support sandboxing genrule
Bug: 281067655
Test: local build
Change-Id: I123b5e51eaf1476d1215e5208331b6540d45fd98
2023-05-22 15:02:36 -07:00
Jihoon Kang
480943ff64 Generate java_api_library from java_sdk_library
This change enables java_sdk_library to generate java_api_library
modules per api surface, so that from-text stubs can be generated per
api domain scope. This module is only created when
`--build-from-text-stub` flag is passed during build.

Ignore-AOSP-First: config.apiLibraries list differ between AOSP and internal master
Test: enable disabled modules in java/core-libraries/TxtStubLibraries.bp then m art.module.public.api.stubs.from-text --build-from-text-stub
Bug: 276957733
Change-Id: Ic1ead15b3d0bcb921ca8d31bcaeeb4cd9ee8715c
2023-05-19 06:11:44 +00:00
Jihoon Kang
1c92c3e092 Generate java_api_library from java_sdk_library
This change enables java_sdk_library to generate java_api_library
modules per api surface, so that from-text stubs can be generated per
api domain scope. This module is only created when
`--build-from-text-stub` flag is passed during build.

Test: enable disabled modules in java/core-libraries/TxtStubLibraries.bp then m art.module.public.api.stubs.from-text --build-from-text-stub
Bug: 276957733
Change-Id: Ic1ead15b3d0bcb921ca8d31bcaeeb4cd9ee8715c
Merged-In: Ic1ead15b3d0bcb921ca8d31bcaeeb4cd9ee8715c
2023-05-19 06:07:37 +00:00
Liz Kammer
33cc80eb1f Revert "Revert "Restrict plugins to an existing allowlist""
This reverts commit b20a12553e.

Reason for revert: Rollforward with fix

soong-ca-certificates-apex was missing from allowlist

Test: verify fixes CI breakages
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dfe4a9e4dd088f42ba5e0a3c4f7777c253d378d3)
Merged-In: I00687bd2962dbdaaf55189ca4aa82183264eb8d7
Change-Id: I00687bd2962dbdaaf55189ca4aa82183264eb8d7
2023-05-18 18:20:28 +00:00
Treehugger Robot
12dc1a34c3 Merge "Revert "Revert "Restrict plugins to an existing allowlist""" into udc-dev-plus-aosp 2023-05-18 14:06:43 +00:00
Liz Kammer
dfe4a9e4dd Revert "Revert "Restrict plugins to an existing allowlist""
This reverts commit b20a12553e.

Reason for revert: Rollforward with fix

soong-ca-certificates-apex was missing from allowlist

Test: verify fixes CI breakages
Change-Id: I00687bd2962dbdaaf55189ca4aa82183264eb8d7
2023-05-18 13:28:23 +00:00
Treehugger Robot
44c9b696bf Merge "Revert "Restrict plugins to an existing allowlist"" into udc-dev-plus-aosp 2023-05-18 00:36:39 +00:00
Liz Kammer
b20a12553e Revert "Restrict plugins to an existing allowlist"
This reverts commit 09ddb3a73e.

Reason for revert: breaks branches without vendor

Change-Id: I2de95d7b99e4e5fd3d696f51d5b4d6a68a298365
2023-05-17 22:51:43 +00:00
Treehugger Robot
9267a344be Merge "Restrict plugins to an existing allowlist" into udc-dev-plus-aosp 2023-05-17 15:44:58 +00:00
Joe Onorato
fee845a737 Aconfig rules
Test: m services_device_config (which runs sooong tests too)
Change-Id: I432e914d01d2bff77ba68de65ae5baea527090f5
2023-05-13 11:32:25 -07:00
MarkDacek
1de78f3174 Fix instantiation of config.bazelForceEnabledModules
Currently, uninstantiated, the field will be set to [""]
instead of an empty slice.

Test: m nothing --ensure-allowlist-integrity
Test: m nothing --ensure-allowlist-integrity
--bazel-force-enabled-modules=com.google.android.neuralnetworks (this
fails, as expected)

Change-Id: Ib4cd26f0cb0d40714b8c3f263ee2d22093ee15ef
2023-05-03 03:48:27 +00:00
MarkDacek
6f6b962bd0 Modify --ensure-allowlist-integrity call to avoid spurious errors.
We now ensure that the module is disabled and _not_ enabled before
failing the build.

Bug: 280439299
Test: m nothing --ensure-allowlist-integrity --bazel-mode-staging (on
master and aosp)

Change-Id: I59c969a27b064f07913a511cb29bc06d23daa371
2023-05-02 21:07:36 +00:00
Treehugger Robot
2f6179d4f5 Merge "Enable HWASan for multiple modules in one place(Soong)" 2023-04-29 00:10:16 +00:00
Liz Kammer
09ddb3a73e Restrict plugins to an existing allowlist
Adds a singleton to do validation that can be disabled via a
BUILD_BROKEN_PLUGIN_VALIDATION flag.

Validation process:
For all go modules that are a plugin for soong_build:
* if path is in build/soong, allow
* if path is in vendor, outside of google paths, allow
* if path is in hardware, outside of google paths, allow
* if name is in allowlist of current plugins, allow

We extend the plugin the list for internal modules via
vendor/google/build/soong/internal_plugins.json

Ignore-AOSP-First: Requires an internal only change to not break when submitted
Test: CI
Change-Id: I264a89b3636043330711d6c996c0360b61f51d92
2023-04-28 18:28:03 +00:00