Merge "Revert "Revert "Allow codename.fingerprint format for minSdkVersion"""
This commit is contained in:
@@ -382,15 +382,17 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
targetSdkVersion := ctx.Config().DefaultAppTargetSdk()
|
targetSdkVersion := ctx.Config().DefaultAppTargetSdk()
|
||||||
if targetSdkVersion == ctx.Config().PlatformSdkCodename() &&
|
minSdkVersion := ctx.Config().DefaultAppTargetSdk()
|
||||||
ctx.Config().UnbundledBuild() &&
|
if java.UseApiFingerprint(ctx, targetSdkVersion) {
|
||||||
!ctx.Config().UnbundledBuildUsePrebuiltSdks() &&
|
targetSdkVersion += fmt.Sprintf(".$$(cat %s)", java.ApiFingerprintPath(ctx).String())
|
||||||
ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") {
|
implicitInputs = append(implicitInputs, java.ApiFingerprintPath(ctx))
|
||||||
apiFingerprint := java.ApiFingerprintPath(ctx)
|
}
|
||||||
targetSdkVersion += fmt.Sprintf(".$$(cat %s)", apiFingerprint.String())
|
if java.UseApiFingerprint(ctx, minSdkVersion) {
|
||||||
implicitInputs = append(implicitInputs, apiFingerprint)
|
minSdkVersion += fmt.Sprintf(".$$(cat %s)", java.ApiFingerprintPath(ctx).String())
|
||||||
|
implicitInputs = append(implicitInputs, java.ApiFingerprintPath(ctx))
|
||||||
}
|
}
|
||||||
optFlags = append(optFlags, "--target_sdk_version "+targetSdkVersion)
|
optFlags = append(optFlags, "--target_sdk_version "+targetSdkVersion)
|
||||||
|
optFlags = append(optFlags, "--min_sdk_version "+minSdkVersion)
|
||||||
|
|
||||||
noticeFile := a.buildNoticeFile(ctx, a.Name()+suffix)
|
noticeFile := a.buildNoticeFile(ctx, a.Name()+suffix)
|
||||||
if noticeFile.Valid() {
|
if noticeFile.Valid() {
|
||||||
|
@@ -93,12 +93,10 @@ func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext
|
|||||||
|
|
||||||
var deps android.Paths
|
var deps android.Paths
|
||||||
targetSdkVersion := sdkVersionOrDefault(ctx, sdkContext.targetSdkVersion())
|
targetSdkVersion := sdkVersionOrDefault(ctx, sdkContext.targetSdkVersion())
|
||||||
if targetSdkVersion == ctx.Config().PlatformSdkCodename() &&
|
minSdkVersion := sdkVersionOrDefault(ctx, sdkContext.minSdkVersion())
|
||||||
ctx.Config().UnbundledBuild() &&
|
if (UseApiFingerprint(ctx, sdkContext.targetSdkVersion()) ||
|
||||||
!ctx.Config().UnbundledBuildUsePrebuiltSdks() &&
|
UseApiFingerprint(ctx, sdkContext.minSdkVersion())) {
|
||||||
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)
|
deps = append(deps, apiFingerprint)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +108,7 @@ func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext
|
|||||||
Implicits: deps,
|
Implicits: deps,
|
||||||
Output: fixedManifest,
|
Output: fixedManifest,
|
||||||
Args: map[string]string{
|
Args: map[string]string{
|
||||||
"minSdkVersion": sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()),
|
"minSdkVersion": minSdkVersion,
|
||||||
"targetSdkVersion": targetSdkVersion,
|
"targetSdkVersion": targetSdkVersion,
|
||||||
"args": strings.Join(args, " "),
|
"args": strings.Join(args, " "),
|
||||||
},
|
},
|
||||||
|
20
java/sdk.go
20
java/sdk.go
@@ -48,13 +48,29 @@ type sdkContext interface {
|
|||||||
targetSdkVersion() string
|
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 {
|
func sdkVersionOrDefault(ctx android.BaseModuleContext, v string) string {
|
||||||
|
var sdkVersion string
|
||||||
switch v {
|
switch v {
|
||||||
case "", "none", "current", "test_current", "system_current", "core_current", "core_platform":
|
case "", "none", "current", "test_current", "system_current", "core_current", "core_platform":
|
||||||
return ctx.Config().DefaultAppTargetSdk()
|
sdkVersion = ctx.Config().DefaultAppTargetSdk()
|
||||||
default:
|
default:
|
||||||
return v
|
sdkVersion = 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)
|
// Returns a sdk version as a number. For modules targeting an unreleased SDK (meaning it does not yet have a number)
|
||||||
|
Reference in New Issue
Block a user