Merge "Bp2build for android_app minsdkversion property"

This commit is contained in:
Alix Espino
2023-03-20 15:38:53 +00:00
committed by Gerrit Code Review
3 changed files with 67 additions and 0 deletions

View File

@@ -1495,6 +1495,10 @@ func androidAppCertificateBp2Build(ctx android.TopDownMutatorContext, module *An
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: module.Name()}, attrs)
}
type manifestValueAttribute struct {
MinSdkVersion *string
}
type bazelAndroidAppAttributes struct {
*javaCommonAttributes
*bazelAapt
@@ -1502,6 +1506,7 @@ type bazelAndroidAppAttributes struct {
Custom_package *string
Certificate bazel.LabelAttribute
Certificate_name bazel.StringAttribute
Manifest_values *manifestValueAttribute
}
// ConvertWithBp2build is used to convert android_app to Bazel.
@@ -1516,11 +1521,22 @@ func (a *AndroidApp) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
certificate, certificateName := android.BazelStringOrLabelFromProp(ctx, a.overridableAppProperties.Certificate)
manifestValues := &manifestValueAttribute{}
// MinSdkVersion(ctx) calls SdkVersion(ctx) if no value for min_sdk_version is set
minSdkSpec := a.MinSdkVersion(ctx)
if !minSdkSpec.ApiLevel.IsPreview() && minSdkSpec.Valid() {
minSdkStr, err := minSdkSpec.EffectiveVersionString(ctx)
if err == nil {
manifestValues.MinSdkVersion = &minSdkStr
}
}
appAttrs := &bazelAndroidAppAttributes{
// TODO(b/209576404): handle package name override by product variable PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
Custom_package: a.overridableAppProperties.Package_name,
Certificate: certificate,
Certificate_name: certificateName,
Manifest_values: manifestValues,
}
props := bazel.BazelTargetModuleProperties{