Merge "Set default target SDK version for APEX"
diff --git a/apex/apex.go b/apex/apex.go
index 004de86..509e0f2 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -977,6 +977,17 @@
optFlags = append(optFlags, "--android_manifest "+androidManifestFile.String())
}
+ targetSdkVersion := ctx.Config().DefaultAppTargetSdk()
+ if targetSdkVersion == ctx.Config().PlatformSdkCodename() &&
+ ctx.Config().UnbundledBuild() &&
+ !ctx.Config().UnbundledBuildUsePrebuiltSdks() &&
+ ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") {
+ apiFingerprint := java.ApiFingerprintPath(ctx)
+ targetSdkVersion += fmt.Sprintf(".$$(cat %s)", apiFingerprint.String())
+ implicitInputs = append(implicitInputs, apiFingerprint)
+ }
+ optFlags = append(optFlags, "--target_sdk_version "+targetSdkVersion)
+
ctx.Build(pctx, android.BuildParams{
Rule: apexRule,
Implicits: implicitInputs,
diff --git a/apex/apex_test.go b/apex/apex_test.go
index fce2135..b0cd4be 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -171,6 +171,7 @@
"testkey2.pem": nil,
"myapex-arm64.apex": nil,
"myapex-arm.apex": nil,
+ "frameworks/base/api/current.txt": nil,
})
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs)
@@ -190,6 +191,8 @@
config.TestProductVariables.DeviceVndkVersion = proptools.StringPtr("current")
config.TestProductVariables.DefaultAppCertificate = proptools.StringPtr("vendor/foo/devkeys/test")
config.TestProductVariables.CertificateOverrides = []string{"myapex_keytest:myapex.certificate.override"}
+ config.TestProductVariables.Platform_sdk_codename = proptools.StringPtr("Q")
+ config.TestProductVariables.Platform_sdk_final = proptools.BoolPtr(false)
return
}
diff --git a/java/android_manifest.go b/java/android_manifest.go
index 39cf471..8dc3b47 100644
--- a/java/android_manifest.go
+++ b/java/android_manifest.go
@@ -74,7 +74,7 @@
ctx.Config().UnbundledBuild() &&
!ctx.Config().UnbundledBuildUsePrebuiltSdks() &&
ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") {
- apiFingerprint := apiFingerprintPath(ctx)
+ apiFingerprint := ApiFingerprintPath(ctx)
targetSdkVersion += fmt.Sprintf(".$$(cat %s)", apiFingerprint.String())
deps = append(deps, apiFingerprint)
}
diff --git a/java/sdk.go b/java/sdk.go
index 36010b6..e93f8fb 100644
--- a/java/sdk.go
+++ b/java/sdk.go
@@ -316,7 +316,7 @@
// Create api_fingerprint.txt
func createAPIFingerprint(ctx android.SingletonContext) {
- out := apiFingerprintPath(ctx)
+ out := ApiFingerprintPath(ctx)
rule := android.NewRuleBuilder()
@@ -359,7 +359,7 @@
rule.Build(pctx, ctx, "api_fingerprint", "generate api_fingerprint.txt")
}
-func apiFingerprintPath(ctx android.PathContext) android.OutputPath {
+func ApiFingerprintPath(ctx android.PathContext) android.OutputPath {
return ctx.Config().Once(apiFingerprintPathKey, func() interface{} {
return android.PathForOutput(ctx, "api_fingerprint.txt")
}).(android.OutputPath)
@@ -371,5 +371,5 @@
}
ctx.Strict("FRAMEWORK_AIDL", sdkFrameworkAidlPath(ctx).String())
- ctx.Strict("API_FINGERPRINT", apiFingerprintPath(ctx).String())
+ ctx.Strict("API_FINGERPRINT", ApiFingerprintPath(ctx).String())
}