diff options
author | 2022-11-28 18:48:51 +0000 | |
---|---|---|
committer | 2022-12-28 23:58:52 +0000 | |
commit | 0b555e323bc18ab64d119fc20c77f2e456cca612 (patch) | |
tree | 4fcbcec7ef0a03d568d99f2536393243a5584428 /android/api_domain.go | |
parent | 067210f70db32f980675bf24d6c96a91a0309474 (diff) |
Create (API) bp2build converters for droidstubs
- The converter runs for api_bp2build, not bp2build workspace
- Since droidstubs is an internal module created by java_sdk_library,
the conversion encompasses the latter as well
- Since droidstubs do not have an api_surface attribute, this conversion
uses naming convention to infer the api_surface represented by the api
file e.g. *stubs.source -> publicapi, *stubs.source.system -> systemapi)
- Also adds an SdkIntraCore enum to represent the API surface provided
by one core module to another
There is also ongoing work to check in java_api_contribution modules in
Soong. Once we have that, we can update this converter to operate on
that module type instead
Test: go test ./bp2build
Change-Id: Ia85828e04c738d9ffcc524856d7c3034ee29bbf9
Diffstat (limited to 'android/api_domain.go')
-rw-r--r-- | android/api_domain.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/android/api_domain.go b/android/api_domain.go index 3265148ea..bdd4e6fa5 100644 --- a/android/api_domain.go +++ b/android/api_domain.go @@ -59,8 +59,14 @@ type apiDomain struct { type apiDomainProperties struct { // cc library contributions (.h files/.map.txt) of this API domain - // This dependency is a no-op in Soong, but the corresponding Bazel target in the bp2build workspace will provide a `CcApiContributionInfo` provider + // This dependency is a no-op in Soong, but the corresponding Bazel target in the api_bp2build workspace + // will provide a `CcApiContributionInfo` provider Cc_api_contributions []string + + // java library contributions (as .txt) of this API domain + // This dependency is a no-op in Soong, but the corresponding Bazel target in the api_bp2build workspace + // will provide a `JavaApiContributionInfo` provider + Java_api_contributions []string } func ApiDomainFactory() Module { @@ -102,7 +108,8 @@ func contributionBazelAttributes(ctx TopDownMutatorContext, contributions []stri } type bazelApiDomainAttributes struct { - Cc_api_contributions bazel.LabelListAttribute + Cc_api_contributions bazel.LabelListAttribute + Java_api_contributions bazel.LabelListAttribute } var _ ApiProvider = (*apiDomain)(nil) @@ -113,7 +120,8 @@ func (a *apiDomain) ConvertWithApiBp2build(ctx TopDownMutatorContext) { Bzl_load_location: "//build/bazel/rules/apis:api_domain.bzl", } attrs := &bazelApiDomainAttributes{ - Cc_api_contributions: contributionBazelAttributes(ctx, a.properties.Cc_api_contributions), + Cc_api_contributions: contributionBazelAttributes(ctx, a.properties.Cc_api_contributions), + Java_api_contributions: contributionBazelAttributes(ctx, a.properties.Java_api_contributions), } ctx.CreateBazelTargetModule(props, CommonAttributes{ Name: ctx.ModuleName(), |