diff options
Diffstat (limited to 'java/java.go')
| -rw-r--r-- | java/java.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/java/java.go b/java/java.go index 25b6349bf..5c2461f58 100644 --- a/java/java.go +++ b/java/java.go @@ -764,6 +764,9 @@ type librarySdkMemberProperties struct { // The list of permitted packages that need to be passed to the prebuilts as they are used to // create the updatable-bcp-packages.txt file. PermittedPackages []string + + // The value of the min_sdk_version property, translated into a number where possible. + MinSdkVersion *string `supported_build_releases:"Tiramisu+"` } func (p *librarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMemberContext, variant android.Module) { @@ -774,6 +777,13 @@ func (p *librarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMemberCo p.AidlIncludeDirs = j.AidlIncludeDirs() p.PermittedPackages = j.PermittedPackagesForUpdatableBootJars() + + // If the min_sdk_version was set then add the canonical representation of the API level to the + // snapshot. + if j.deviceProperties.Min_sdk_version != nil { + canonical := android.ReplaceFinalizedCodenames(ctx.SdkModuleContext().Config(), j.minSdkVersion.ApiLevel.String()) + p.MinSdkVersion = proptools.StringPtr(canonical) + } } func (p *librarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) { @@ -792,6 +802,10 @@ func (p *librarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberConte propertySet.AddProperty("jars", []string{snapshotRelativeJavaLibPath}) } + if p.MinSdkVersion != nil { + propertySet.AddProperty("min_sdk_version", *p.MinSdkVersion) + } + if len(p.PermittedPackages) > 0 { propertySet.AddProperty("permitted_packages", p.PermittedPackages) } @@ -1648,7 +1662,7 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) { var srcFiles []android.Path ctx.VisitDirectDepsWithTag(javaApiContributionTag, func(dep android.Module) { provider := ctx.OtherModuleProvider(dep, JavaApiImportProvider).(JavaApiImportInfo) - srcFiles = append(srcFiles, android.PathForModuleSrc(ctx, provider.ApiFile.String())) + srcFiles = append(srcFiles, android.PathForSource(ctx, provider.ApiFile.String())) }) cmd := metalavaStubCmd(ctx, rule, srcFiles, homeDir) @@ -1673,6 +1687,8 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) { TransformJavaToClasses(ctx, al.stubsJar, 0, android.Paths{}, android.Paths{al.stubsSrcJar}, flags, android.Paths{}) + + ctx.Phony(ctx.ModuleName(), al.stubsJar) } // |