Bp2build for android_app minsdkversion property
Bug: 249265719
Test: go test ./bp2build
Test: insepcted generated build files
Change-Id: I02ed54a9fdcc88d98439e0a61626a0afc1fce639
diff --git a/java/app.go b/java/app.go
index f596673..73856d2 100755
--- a/java/app.go
+++ b/java/app.go
@@ -1495,6 +1495,10 @@
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: module.Name()}, attrs)
}
+type manifestValueAttribute struct {
+ MinSdkVersion *string
+}
+
type bazelAndroidAppAttributes struct {
*javaCommonAttributes
*bazelAapt
@@ -1502,6 +1506,7 @@
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 @@
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{