Merge "Propagate max_sdk_version to manifest_fixer" am: 50dbe0a074

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2104965

Change-Id: If87b6e5740ae3bd2f90c57b096ac358f0f84ba08
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
William Loh
2022-07-14 00:38:35 +00:00
committed by Automerger Merge Worker
9 changed files with 136 additions and 0 deletions

View File

@@ -678,6 +678,10 @@ func (a *AARImport) MinSdkVersion(ctx android.EarlyModuleContext) android.SdkSpe
return a.SdkVersion(ctx)
}
func (a *AARImport) ReplaceMaxSdkVersionPlaceholder(ctx android.EarlyModuleContext) android.SdkSpec {
return android.SdkSpecFrom(ctx, "")
}
func (a *AARImport) TargetSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return a.SdkVersion(ctx)
}

View File

@@ -136,6 +136,11 @@ func ManifestFixer(ctx android.ModuleContext, manifest android.Path,
ctx.ModuleErrorf("invalid minSdkVersion: %s", err)
}
replaceMaxSdkVersionPlaceholder, err := params.SdkContext.ReplaceMaxSdkVersionPlaceholder(ctx).EffectiveVersion(ctx)
if err != nil {
ctx.ModuleErrorf("invalid ReplaceMaxSdkVersionPlaceholder: %s", err)
}
if UseApiFingerprint(ctx) && ctx.ModuleName() != "framework-res" {
minSdkVersion = ctx.Config().PlatformSdkCodename() + fmt.Sprintf(".$$(cat %s)", ApiFingerprintPath(ctx).String())
deps = append(deps, ApiFingerprintPath(ctx))
@@ -145,6 +150,7 @@ func ManifestFixer(ctx android.ModuleContext, manifest android.Path,
ctx.ModuleErrorf("invalid minSdkVersion: %s", err)
}
args = append(args, "--minSdkVersion ", minSdkVersion)
args = append(args, "--replaceMaxSdkVersionPlaceholder ", strconv.Itoa(replaceMaxSdkVersionPlaceholder.FinalOrFutureInt()))
args = append(args, "--raise-min-sdk-version")
}

View File

@@ -204,6 +204,10 @@ type DeviceProperties struct {
// Defaults to empty string "". See sdk_version for possible values.
Max_sdk_version *string
// if not blank, set the maxSdkVersion properties of permission and uses-permission tags.
// Defaults to empty string "". See sdk_version for possible values.
Replace_max_sdk_version_placeholder *string
// if not blank, set the targetSdkVersion in the AndroidManifest.xml.
// Defaults to sdk_version if not set. See sdk_version for possible values.
Target_sdk_version *string
@@ -649,6 +653,11 @@ func (j *Module) MaxSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return android.SdkSpecFrom(ctx, maxSdkVersion)
}
func (j *Module) ReplaceMaxSdkVersionPlaceholder(ctx android.EarlyModuleContext) android.SdkSpec {
replaceMaxSdkVersionPlaceholder := proptools.StringDefault(j.deviceProperties.Replace_max_sdk_version_placeholder, "")
return android.SdkSpecFrom(ctx, replaceMaxSdkVersionPlaceholder)
}
func (j *Module) MinSdkVersionString() string {
return j.minSdkVersion.Raw
}

View File

@@ -256,6 +256,10 @@ func (j *Javadoc) MinSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec
return j.SdkVersion(ctx)
}
func (j *Javadoc) ReplaceMaxSdkVersionPlaceholder(ctx android.EarlyModuleContext) android.SdkSpec {
return j.SdkVersion(ctx)
}
func (j *Javadoc) TargetSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return j.SdkVersion(ctx)
}

View File

@@ -1459,6 +1459,10 @@ type ImportProperties struct {
// specified.
Min_sdk_version *string
// The max sdk version placeholder used to replace maxSdkVersion attributes on permission
// and uses-permission tags in manifest_fixer.
Replace_max_sdk_version_placeholder *string
Installable *bool
// If not empty, classes are restricted to the specified packages and their sub-packages.
@@ -1538,6 +1542,13 @@ func (j *Import) MinSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return j.SdkVersion(ctx)
}
func (j *Import) ReplaceMaxSdkVersionPlaceholder(ctx android.EarlyModuleContext) android.SdkSpec {
if j.properties.Replace_max_sdk_version_placeholder != nil {
return android.SdkSpecFrom(ctx, *j.properties.Replace_max_sdk_version_placeholder)
}
return android.SdkSpecFrom(ctx, "")
}
func (j *Import) TargetSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return j.SdkVersion(ctx)
}

View File

@@ -179,6 +179,10 @@ func (r *RuntimeResourceOverlay) MinSdkVersion(ctx android.EarlyModuleContext) a
return r.SdkVersion(ctx)
}
func (r *RuntimeResourceOverlay) ReplaceMaxSdkVersionPlaceholder(ctx android.EarlyModuleContext) android.SdkSpec {
return android.SdkSpecFrom(ctx, "")
}
func (r *RuntimeResourceOverlay) TargetSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return r.SdkVersion(ctx)
}