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
This commit is contained in:
@@ -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(),
|
||||
|
Reference in New Issue
Block a user