Commit Graph

5925 Commits

Author SHA1 Message Date
Spandan Das
3d6ac190f2 Allowlist ndk STL dependencies
Bug: 298088835
Test: TH
Change-Id: I43942ad17645c99de82a966d674ef80100eaffd0
2023-09-14 17:34:30 +00:00
Liz Kammer
b70eae04ce Allowlist more targets for framework
Test: bp2build.sh
Change-Id: I4bd080dd795f40d9095157fe4ba4ec7f0e251757
2023-09-13 11:28:02 -04:00
Liz Kammer
f673c2ea9f Sort do not convert for unconverted deps
Test: n/a
Change-Id: Id86986f17d23fe47e47b303a1828478b8e887513
2023-09-12 09:08:17 -04:00
Treehugger Robot
0e3da8162c Merge "Allowlist packages instead of modules" into main 2023-09-12 01:53:49 +00:00
Zi Wang
37aa1729b0 Merge "Allowlist libprotobuf-java-full" into main 2023-09-11 22:50:40 +00:00
Vinh Tran
9226051310 Allowlist packages instead of modules
bp2build doesn't support allowlisting fully qualified module names. Hence, when modules such as libui and libbinder have duplicate names with corresponding fdo_profile modules, bp2build yields an error. See b/299663210 for more context.

Test: CI
Bug: 299663210
Change-Id: Ic175f5aea38139d34c5df8b9d02e7d82d9b3fc10
2023-09-11 18:15:35 -04:00
Cole Faust
7a05d1392a Merge "Allow actions to read BUILD_BROKEN_INCORRECT_PARTITION_IMAGES" into main 2023-09-11 17:25:18 +00:00
Treehugger Robot
edbf854aa5 Merge "Re-enable partition test" into main 2023-09-08 23:16:58 +00:00
Cole Faust
ded796030b Allow actions to read BUILD_BROKEN_INCORRECT_PARTITION_IMAGES
To maintain good backwards compatibility with the legacy partition
building behavior, allow actions to read
BUILD_BROKEN_INCORRECT_PARTITION_IMAGES so that we don't have to rerun
analysis.

Bug: 205632228
Test: Presubmits
Change-Id: I2b55c0143cbdaf010e6b5fd0c3d51d6930a94eff
2023-09-08 15:58:13 -07:00
Sam Delmerico
1d3740a274 Merge changes from topic "revert-2605644-rulebuilder-ninja-vars-OAAWYCDDLT" into main
* changes:
  Revert "add rust_toolchain_rustc_prebuilt module type"
  Revert "add crate_root property to rust modules"
  Revert "allow Ninja variables in RuleBuilder API"
2023-09-08 20:46:55 +00:00
Cole Faust
9a6fa98cd3 Re-enable partition test
Due to the series of recent reverts, it's working now.

Bug: 297269187
Test: m bazel_sandwich
Change-Id: I010a942918467713e08b900aec06c7011c40c3be
2023-09-08 12:00:39 -07:00
Sam Delmerico
400749d1f0 Revert "add rust_toolchain_rustc_prebuilt module type"
Revert submission 2605644-rulebuilder-ninja-vars

Reason for revert: b/299568218

Reverted changes: /q/submissionid:2605644-rulebuilder-ninja-vars

Change-Id: Ic3d1ba7e8a61427b52f31cc3f187c9d5a7d9a7bb
2023-09-08 16:10:47 +00:00
Sam Delmerico
7b02d8159e Revert "allow Ninja variables in RuleBuilder API"
Revert submission 2605644-rulebuilder-ninja-vars

Reason for revert: b/299568218

Reverted changes: /q/submissionid:2605644-rulebuilder-ninja-vars

Change-Id: Ia738c100b8431dea6151939a800b992f877b5bb8
2023-09-08 16:10:54 +00:00
Treehugger Robot
3fb2002c9e Merge changes I86f30b99,I2769c0d5 into main
* changes:
  Do not convert resource dirs without resources
  Do not convert java libraries with core_platform
2023-09-08 16:04:45 +00:00
Treehugger Robot
b091d3b688 Merge "Add all of hardware/interfaces/media to allowlist" into main 2023-09-08 16:04:44 +00:00
Liz Kammer
33dddf5a7e Do not convert resource dirs without resources
Previously we would convert to java_resources when there were no
resources and get an error.

Test: b build //external/libphonenumber/... --config=android
Change-Id: I86f30b993a3ffdb20000f6a4c5261e2c4c74263c
2023-09-08 09:44:00 -04:00
Liz Kammer
4fd2edb638 Add all of hardware/interfaces/media to allowlist
Test: b build //hardware/interfaces/media/... //system/tools/hidl/... \
    --config=android
Test: b build //hardware/interfaces/media/... //system/tools/hidl/... -k
Change-Id: Icc0f8ebb87b269c93e1b3b37e8c162772a2384ec
2023-09-08 09:39:37 -04:00
Firman Prayoga
20ae294850 Merge "Revert "Re-enable the partition test"" into main 2023-09-08 04:02:58 +00:00
Cole Faust
5abc4bfb6e Revert "Re-enable the partition test"
Revert submission 2745814-bazel_staging_dir_file_list

Reason for revert: So we can revert the staging directories change

Reverted changes: /q/submissionid:2745814-bazel_staging_dir_file_list

Change-Id: I3e997f29efcaf68ef102d33595609dd709f43d7d
2023-09-08 03:15:32 +00:00
Treehugger Robot
9abcf649a7 Merge changes from topics "rulebuilder-ninja-vars", "rustc_prebuilt_build_tool" into main
* changes:
  allow Ninja variables in RuleBuilder API
  add crate_root property to rust modules
  add rust_toolchain_rustc_prebuilt module type
2023-09-08 00:10:18 +00:00
Cole Faust
509ca8dfaf Merge "Re-enable the partition test" into main 2023-09-07 23:35:01 +00:00
Sam Delmerico
1f9bb26656 allow Ninja variables in RuleBuilder API
The RuleBuilder API would not expand Ninja variables because the
variables would be written verbatim to the sandbox manifest file. This
commit allows a rule to specify that the manifest file should be written
in an un-escaped format so that Ninja variables are expanded before
writing the manifest file.

Bug: 286077158
Test: rust sandboxing topic + go test
Change-Id: I1915431f6e24d04d343dacc213c9079674ec8251
2023-09-07 20:56:02 +00:00
Treehugger Robot
3f0aa4d618 Merge "bp2build: block src == name for prebuilt_* modules" into main 2023-09-07 19:41:04 +00:00
Cole Faust
1b519e78e7 Re-enable the partition test
Bug: 299495030
Test: m bazel_sandwich
Change-Id: Ibffc1c0adc858db5bf057ecfa66323c629704656
2023-09-07 11:57:36 -07:00
Zi Wang
e18ce5337d Allowlist libprotobuf-java-full
Test: CI

Bug: 299290824
Change-Id: Iee85c63ccc2ebc26bcbc74cce49bfcfb50fed272
2023-09-07 11:30:25 -07:00
Cole Faust
7dcfeb8100 Tempoarily disable the partition test
Bazel doesn't have the new functionality to only pick up correct files
from the staging dir, so it doesn't match make anymore.

Bug: 297269187
Test: m bazel_sandwich
Change-Id: I42e99a30b6e977c628f76457557d823f26446985
2023-09-07 10:05:42 -07:00
Treehugger Robot
8763530dff Merge "android_app APEX_GLOBAL_MIN_SDK_VERSION_OVERRIDE" into main 2023-09-07 16:55:45 +00:00
Liz Kammer
d5d12d028b bp2build: block src == name for prebuilt_* modules
src == name causes circular dependency errors, instead mark these as
unconverted and don't create modules for them.

Test: m bp2build and verify boringssl_self_test.zygote64.rc unconverted
Change-Id: I5d5fdd7e14830cd685816064cd0377998d07293c
2023-09-07 12:26:22 -04:00
Paul Duffin
7d885d53a6 Merge "Convert Android.bp files in sub-directories of tools/metalava" into main 2023-09-07 13:55:40 +00:00
Paul Duffin
85e33c1cad Convert Android.bp files in sub-directories of tools/metalava
Bug: 299428102
Test: m checkapi
Change-Id: Ia01a394ec80e7d760cfb920993807c4006d8c36e
2023-09-07 12:08:53 +01:00
Cole Faust
999881376b Merge "Delete ApiBp2build soong_build mode" into main 2023-09-06 18:04:25 +00:00
Spandan Das
6f45900389 Merge "Add target_compatible_with for compile_multilib" into main 2023-09-06 03:29:26 +00:00
Treehugger Robot
f3d52683a9 Merge "soong: HWASan exclude path support" into main 2023-09-06 01:14:12 +00:00
Spandan Das
e1cb14b240 Add target_compatible_with for compile_multilib
For explicit values of compile_multilib (e.g. 32 or 64), add an
incompatibilty constraint for the arches that do not have the correct
bitness.

Test: go test ./bp2build
Bug: 299135307
Change-Id: I4cd997de6804a5c6d89086d740f773936db1cab9
2023-09-06 00:31:00 +00:00
Chris Parsons
73f411b72c Delete ApiBp2build soong_build mode
This feature is obsolete.

This makes a large number of codepaths "dead code" (such as
module-specific implementations of ApiBp2build functionality). These
will be deleted in a followup CL.

Bug: 284029211
Test: Presubmits
Change-Id: Ib53b99f1fe8c24380d219caf44e9bb3b96724fa0
2023-09-05 17:09:51 -07:00
Treehugger Robot
922e6adfd2 Merge "print module name on allowlist errors" into main 2023-09-05 23:26:31 +00:00
Sam Delmerico
0e0d96efa7 android_app APEX_GLOBAL_MIN_SDK_VERSION_OVERRIDE
Currently the product variable that is controlled by
APEX_GLOBAL_MIN_SDK_VERSION_OVERRIDE only overrides apexes, but it
doesn't apply to android_apps. This commit allows android_apps which set
updatable: true in their Android.bp to have their min_sdk_version be
overriden by this product variable.

Bug: 295311875
Test: go test
Change-Id: If3cb82a17cae4553b577dd1a4637ee13c3c95302
2023-09-05 21:38:16 +00:00
Sam Delmerico
e42edc369c print module name on allowlist errors
Change-Id: I34db128d96f8121fed56588a5d6ba7de6e848c9a
2023-09-05 19:19:19 +00:00
Spandan Das
ab29f57ce6 Fix target_compatible_with non-determinism for proto.include_dirs
A single proto providing directory can be used by multiple soong modules. Some of these
can be
1. Host specific
2. Device specific
3. Both host and device

Since the generated proto_library can have 1:many mapping, it should
have an empty target_compatible_with. Compatiblity will be enforced at
the top-level {cc|java|python}_proto_library.

(This is a followup to aosp/2727054 which did not handle this correctly)

Test: Added a unit test

Change-Id: I09b3def70e3d043fd8ba0d1eb4ffff1910f097d1
2023-09-01 21:30:29 +00:00
Yu Liu
056d05b690 Merge "Allowlist aapt." into main 2023-09-01 17:22:28 +00:00
Inseob Kim
9c14e725e7 Merge "Remove code about mixed sepolicy build" into main 2023-09-01 01:06:29 +00:00
Yu Liu
a06f869dd2 Allowlist aapt.
Bug: 297409580
Test: CI
Change-Id: Ia1b0c65146109d8fca76e47221960f98307a52ec
2023-08-31 16:30:07 -07:00
Treehugger Robot
a4fc68a355 Merge "Use aquery results to determine if a file should be executable" into main 2023-08-31 20:51:42 +00:00
Sam Delmerico
b45c844ce7 add rust_toolchain_rustc_prebuilt module type
Sandboxing the rust rules requires having explicit inputs for the rust
toolchain. This module type makes the rustc prebuilt and its
dependencies explicit as a module that can be depended on by all rust
rules.

Bug: 286077158
Test: rust sandboxing topic + go test
Change-Id: If2b80b32e329e6a6ee11ba824de868cf04714553
2023-08-31 18:03:33 +00:00
Cole Faust
20f2030e29 Use aquery results to determine if a file should be executable
Now that aquery includes this information.

Also added rm -f $out to some rules, because since they write files
by shell redirection, if the file existed before and was executable,
they wouldn't make the file non-executable and visa versa.

Fixes: 297366783
Test: m bazel_sandwich
Change-Id: Ie5b6c4275b162601f51deaec9912eea4be16988d
2023-08-31 11:00:25 -07:00
Inseob Kim
6077b2342c Remove code about mixed sepolicy build
There is no one actively using mixed sepolicy build, and it made
sepolicy codes too complicated. As we are deprecating mixed build,
removing such code for cleanup.

Bug: 298305798
Test: boot cuttlefish
Change-Id: Icb5071eb1378f8ed83568e4445d7b4d33e29bc46
2023-08-31 16:49:59 +09:00
Spandan Das
43dfeb6d10 Replace sync.Mutex with Sync.Map
createProtoLibraryTargetsForIncludeDirs uses a lock-protected plain map
to see if a directory has been handled previously during concurrent visits
of modules in bp2build.

From golang's docs https://pkg.go.dev/sync#Map, replacing sync.Mutex
with sync.Map will be faster in this use case since the keys (directores
here) are written just once but read many times.

Test: m bp2build
Change-Id: Ia2a471b4db5d2890fa6048bc05a17cebc5f686af
2023-08-31 00:30:24 +00:00
Romain Jobredeaux
520ab19c23 Allowlist platform-test-annotations (new dependency of bouncycastle)
Change-Id: I68ee46622d0b9048d8e53a8a74721aac139e9ddd
2023-08-30 12:19:54 -04:00
Treehugger Robot
662b09e8c3 Merge "Prevent concurrent read/writes to a map" into main 2023-08-30 02:40:07 +00:00
Spandan Das
fc6e645645 Prevent concurrent read/writes to a map
This should hopefully fix an intermittent flake in bp2build, which is
now run by default.

Test: go build ./android
Change-Id: Ic257a34448ab323df1680cf1990b087ed415a592
2023-08-29 23:59:20 +00:00