Commit graph

5624 commits

Author SHA1 Message Date
Jihoon Kang
c44be96f06 Allowlist process-compat-config module
process-compat-config module is required as executable tool to create
actions for platform_compat_config rule class. Thus, add
process-compat-config Soong module to be always converted to bazel
target.

Test: TH
Bug: 269202028
Change-Id: Ic60ace1a86f3a97927937ee0e2e7385fab756deb
2023-06-06 19:36:01 +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
Yu Liu
3b343c6c25 Merge "Allowtlist some cc_test modules." 2023-06-06 18:22:40 +00:00
Yu Liu
95c78ef99f Merge "Add the DCLA libs used by swcodec to the staging list" 2023-06-06 17:41:18 +00:00
Treehugger Robot
aefd27fce6 Merge "Correct genrule path references" 2023-06-06 14:59:16 +00:00
Yu Liu
7301fc8aeb Add the DCLA libs used by swcodec to the staging list
Bug: 269342245
Test: run dcla_apex_comparison_test
Change-Id: I26bcbf6447b9216258c18c42e80f729e5651658a
2023-06-05 16:47:34 -07:00
Yu Liu
2c0b890bb2 Allowtlist some cc_test modules.
Bug: 284287101
Test: b test locally
Change-Id: I0ecd88def0f7f5e68cf48e9766575ec5dd82b7be
2023-06-05 16:40:59 -07:00
Steven Moreland
15a74066ea Merge "Remove SepolicySplit." 2023-06-05 23:08:24 +00:00
Spandan Das
91a8820688 Merge changes from topics "xsd_config_bp2build_cc_rdeps", "xsd_config_bp2build_java_rdeps"
* changes:
  bp2build for cc libraries that use xsd_config as gen srcs
  bp2build for java libraries using xsd_config srcs
2023-06-05 22:23:37 +00:00
Jihoon Kang
91c839566e Cleanup android.JavaApiLibraryName references
This change cleans up references to android.JavaApiLibraryName() so that
rdeps link against "android_*_stubs_current" instead of
"android_*_stubs_current.from-text".

Bug: 284995489
Test: m
Change-Id: Ibdf33b15981317c43e468dbc1657229d54bbd226
2023-06-05 21:45:01 +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
Jihoon Kang
381c2fa27c Introduce "Exclude_static_libs" property for Java modules
Exclude_static_libs property can be used to specify static libs that
should not be used to build the module. The list acts as filter for
static_libs.

Bug: 285410821
Test: go test ./java
Change-Id: Iee7f160ba88b5f64bdd265c30d47c9f51feb0f5e
2023-06-05 21:42:48 +00:00
Zi Wang
e71945b791 Merge "Remove truth-prebuilt and truth-host-prebuilt from denylist" 2023-06-05 20:58:35 +00:00
Liz Kammer
1e75324ebd Correct genrule path references
Test: b build `bmod robolectric_tzdata`
Test: go test bp2build tests
Change-Id: I98333f2b9f480019ddca11944b455d484a47cf8e
2023-06-02 19:09:35 -04: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
Zi Wang
b9d36bcb6b Remove truth-prebuilt and truth-host-prebuilt from denylist
truth-prebuilt and truth-host-prebuilt are able to be
built by bazel now.

Bug:285001041

Test: presubmit
Change-Id: I49ca0c4ccd55a0df591176554eab4e82c95e4699
2023-06-02 15:29:49 -07:00
Spandan Das
82f0e5daae Merge "Always convert xsd_config module type" 2023-06-02 20:07:48 +00:00
Jiakai Zhang
f508c252bb Merge "Drop INTERNAL_PLATFORM_MISSING_USES_LIBRARIES." 2023-06-02 14:59:10 +00:00
Zi Wang
4af4ff33f0 Merge "Add simple bp2build converter for java_test_host" 2023-06-01 22:37:28 +00:00
Spandan Das
370f13c3bd bp2build for java libraries using xsd_config srcs
In Soong, java libraries can use src files generated from xsd_config. In
Bazel, instead of providing srcs, java_xsd_config_library will provide a
jar. Update bp2build so that all src references to xsd_config modules in
srcs get routed to deps and exports attributes

This CL creates an interface in build/soong/android to get around a
circular dependency issue. The bp2build logic needs to exist in
soong-java, but soong-java does have soong-xsdc in its package path. Use
the interface and type assertions to special case xsd_config references

Bug: 211678537
Test: bp2build test in sibling CL in system/tools/xsdc
Change-Id: Ida924bb20b1fd7eb8beeef950b070d37a9c6f3b5
2023-06-01 19:12:12 +00:00
Spandan Das
8d6bf5e59b Always convert xsd_config module type
Modules of this type have a limited set of deps (e.g. libxml2), and they
have already been converted.

compatibility_matrix_schema is a filegroup that is used in one of the
xsd_config modules in Soong, and it has been added to the allowlist as
well.

Test: bp2build.sh
Bug: 211678537
Change-Id: Idcbafe7c8413134b9dd7abb0dee53473f3e1d2e8
2023-06-01 19:12:05 +00:00
Zi Wang
65b36729c3 Add simple bp2build converter for java_test_host
Bug:281551424

Test: java_test_host_conversion_test.go and presubmits
Change-Id: I43ed26df0bacd63ef402de4d9733d19604005c35
2023-06-01 10:37:09 -07: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
Treehugger Robot
780ea1f8d1 Merge "Create a "current_product" named platform." 2023-05-31 08:00:12 +00:00
Spandan Das
0cb8770989 Merge "Allowlist xsdc" 2023-05-30 21:05:36 +00:00
Jingwen Chen
583ab219ea Create a "current_product" named platform.
This enables output paths of product agnostic targets (e.g. mainline
apex) to be identical when switching between target products, since the
product name is no longer embedded in:

1) the output path prefix in bazel-out
2) the PlatformOptions contribution to the configuration hash as part of a transition

Test: treehugger
Change-Id: I3fd0f7134209aa7eede3ed98412a1c5482689b57
2023-05-30 15:40:18 +00:00
Kiyoung Kim
5500fc89c1 Merge "Rename build.ninja with product name" 2023-05-30 07:17:08 +00:00
Spandan Das
ab5f1c56c8 Allowlist xsdc
This is a java_binary_host that is used to generate .cpp/.java files
from .xsd file.

Test: TH
Bug: 211678537
Change-Id: I62ae9f1dc7c531fc59778a5a043bffc9960c12db
2023-05-26 16:53:04 +00:00
Alix Espino
e5641c51b9 Merge "bp2build java_resources that only contain a filegroup" 2023-05-26 13:59:42 +00:00
Treehugger Robot
8321c1a8fb Merge "Use hashed subdir for soong_config modules" 2023-05-26 12:50:42 +00:00
Inseob Kim
81b00a8db7 Use hashed subdir for soong_config modules
This is to differentiate soong intermediate directories for soong config
modules. This will help incremental build across different
devices.

Test result of building panther, building cheetah, and building panther
again:

Before this change
- build time: 02:57
- # of tasks: 31044

After this change
- build time: 01:48
- # of tasks: 1694

Build time includes build.ninja generating time (which is more than 1
minute), so the overriden artifacts become far fewer.

And "NINJA_ARGS='-n -d explain' m" only gave 4 "command line changed"
nodes.

Bug: 279362051
Test: see above
Change-Id: I4891cbe823ae21628465e5c6eb26a4837ccdd202
2023-05-26 18:07:05 +09:00
Anton Hansson
0c6ae56eea Merge "ensure that privapp_allowlist is installed before android_app" 2023-05-26 07:17:37 +00:00
Sam Delmerico
b1daccdc97 ensure that privapp_allowlist is installed before android_app
AndroidMk assumes that the app is the last file installed, and it uses
this assumption to populate the LOCAL_SOONG_INSTALLED_MODULE entry. This
CL moves the privapp_allowlist installation to before the app
installation to respect this assumption.

Bug: 242509786
Test: go test
Test: OUT_DIR=out.ref m nothing &&
  cp aosp/2562351 && OUT_DIR=out.change m nothing &&
  GOWORK=$PWD/build/bazel/mkcompare/go.work \
  go run android/bazel/mkcompare/cmd -json \
  <(sed -e "s/out\.ref/out/g" out.ref/soong/Android-aosp_cheetah.mk) \
  <(sed -e "s/out\.change/out/g" out.change/soong/Android-aosp_cheetah.mk)
  && verify manually that the only diffs are related to the removal of
  the prebuilt_etc module.
Change-Id: I95ec27070f575e79fb976de68493a219717ed89a
2023-05-25 18:54:06 +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
Alix
b29a3cd2aa bp2build java_resources that only contain a filegroup
supports filegroup that specifies path property

Bug: 280860624
Test: built libauto_value_plugin
Change-Id: I9ed0b13e055beb92ba8090f6b5e88b9873c9ce61
2023-05-24 18:21:15 +00:00
liulvping
4d11d10ce2 build: Fix bp2build panic issue
panic in top down mutator "bp2build_conversion_bp2build"
for module "foo".
reflect: call of reflect.Value.NumField on interface Value

Test: go test ./bp2build
Change-Id: I9ee460ca38a37c6a6c1a0787159fa5f38b852b55
2023-05-24 06:38:58 +00:00
Treehugger Robot
cd4e6a609e Merge "Sandbox inputs to aidl rule in cc" 2023-05-23 23:40:35 +00:00
Treehugger Robot
ea2cafe21e Merge "Run "plugins" singleton in parallel with the rest." 2023-05-23 22:01:34 +00:00
Treehugger Robot
0d149f4a4f Merge "Remove GetPythonBinary request type" 2023-05-23 21:42:31 +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
Chris Parsons
6b49888a17 Remove GetPythonBinary request type
This has been dead code for over a year.

Fixes: 232976601
Test: m nothing
Change-Id: Ida305fc8fa61d8ac83d74ea2cf007073a0019cec
2023-05-23 17:57:38 +00:00
LaMont Jones
9b44c2a725 Run "plugins" singleton in parallel with the rest.
This completes the changes in aosp/q/topic:"parallel-singletons".

(cherry picked from commit 30bf7fe32d)

Bug: 281536768
Test: manual, presubmits
Change-Id: I6529e957fbcca6c18441f823a00061db7556e303
2023-05-23 17:57:00 +00:00
Treehugger Robot
1befe407a1 Merge "Revert "Revert "Restrict plugins to an existing allowlist""" 2023-05-23 17:08:46 +00:00
Treehugger Robot
04a1809d2a Merge "Handle missing dependencies in mixed builds" 2023-05-23 16:07:01 +00:00
Liz Kammer
c13f785061 Handle missing dependencies in mixed builds
Bazel will fail on queries with missing dependencies. Instead, we check
for missing dependencies in mixed builds and we fall back to Soong when
we are aware of missing dependencies in a module.

Test: go test soong tests
Change-Id: I4f83752704970d8b43650d5b55ff35799c7bc625
2023-05-23 12:14:02 +00:00
Yu Liu
6a7940cc99 Support sandboxing genrule
Bug: 281067655
Test: local build
Change-Id: I123b5e51eaf1476d1215e5208331b6540d45fd98
2023-05-22 15:02:36 -07:00
Treehugger Robot
47514686b9 Merge changes from topic "parallel-singletons"
* changes:
  Parallelize singleton execution
  android: Allow running some singletons in parallel.
2023-05-22 16:40:16 +00:00
Jihoon Kang
d056a91b82 Merge "Generate java_api_library from java_sdk_library" 2023-05-20 05:10:11 +00:00