Merge "Revert "Allow codename.fingerprint format for minSdkVersion"" am: 070d69c74c am: 42a16b7d69 am: 7245755399

Change-Id: Ifcea8861733463b92a46de6ca08b2d6a8ec0a090
This commit is contained in:
Automerger Merge Worker
2020-01-21 14:51:42 +00:00
3 changed files with 17 additions and 33 deletions

View File

@@ -93,11 +93,13 @@ func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext
var deps android.Paths
targetSdkVersion := sdkVersionOrDefault(ctx, sdkContext.targetSdkVersion())
minSdkVersion := sdkVersionOrDefault(ctx, sdkContext.minSdkVersion())
if (UseApiFingerprint(ctx, sdkContext.targetSdkVersion()) ||
UseApiFingerprint(ctx, sdkContext.minSdkVersion())) {
apiFingerprint := ApiFingerprintPath(ctx)
deps = append(deps, apiFingerprint)
if targetSdkVersion == ctx.Config().PlatformSdkCodename() &&
ctx.Config().UnbundledBuild() &&
!ctx.Config().UnbundledBuildUsePrebuiltSdks() &&
ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") {
apiFingerprint := ApiFingerprintPath(ctx)
targetSdkVersion += fmt.Sprintf(".$$(cat %s)", apiFingerprint.String())
deps = append(deps, apiFingerprint)
}
fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml")
@@ -108,7 +110,7 @@ func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext
Implicits: deps,
Output: fixedManifest,
Args: map[string]string{
"minSdkVersion": minSdkVersion,
"minSdkVersion": sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()),
"targetSdkVersion": targetSdkVersion,
"args": strings.Join(args, " "),
},

View File

@@ -47,29 +47,13 @@ type sdkContext interface {
targetSdkVersion() string
}
func UseApiFingerprint(ctx android.BaseModuleContext, v string) bool {
if v == ctx.Config().PlatformSdkCodename() &&
ctx.Config().UnbundledBuild() &&
!ctx.Config().UnbundledBuildUsePrebuiltSdks() &&
ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") {
return true
}
return false
}
func sdkVersionOrDefault(ctx android.BaseModuleContext, v string) string {
var sdkVersion string
switch v {
case "", "none", "current", "test_current", "system_current", "core_current", "core_platform":
sdkVersion = ctx.Config().DefaultAppTargetSdk()
return ctx.Config().DefaultAppTargetSdk()
default:
sdkVersion = v
return v
}
if UseApiFingerprint(ctx, sdkVersion) {
apiFingerprint := ApiFingerprintPath(ctx)
sdkVersion += fmt.Sprintf(".$$(cat %s)", apiFingerprint.String())
}
return sdkVersion
}
// Returns a sdk version as a number. For modules targeting an unreleased SDK (meaning it does not yet have a number)