Loading android/config.go +2 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ import ( var Bool = proptools.Bool var String = proptools.String var FutureApiLevel = 10000 const FutureApiLevel = 10000 // The configuration file name const configFileName = "soong.config" Loading java/aar.go +9 −6 Original line number Diff line number Diff line Loading @@ -177,7 +177,10 @@ func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkContext sdkContext, linkDeps = append(linkDeps, assetFiles...) // SDK version flags minSdkVersion := sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()) minSdkVersion, err := sdkContext.minSdkVersion().effectiveVersionString(ctx) if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } linkFlags = append(linkFlags, "--min-sdk-version "+minSdkVersion) linkFlags = append(linkFlags, "--target-sdk-version "+minSdkVersion) Loading Loading @@ -524,22 +527,22 @@ type AARImport struct { exportedStaticPackages android.Paths } func (a *AARImport) sdkVersion() string { return String(a.properties.Sdk_version) func (a *AARImport) sdkVersion() sdkSpec { return sdkSpecFrom(String(a.properties.Sdk_version)) } func (a *AARImport) systemModules() string { return "" } func (a *AARImport) minSdkVersion() string { func (a *AARImport) minSdkVersion() sdkSpec { if a.properties.Min_sdk_version != nil { return *a.properties.Min_sdk_version return sdkSpecFrom(*a.properties.Min_sdk_version) } return a.sdkVersion() } func (a *AARImport) targetSdkVersion() string { func (a *AARImport) targetSdkVersion() sdkSpec { return a.sdkVersion() } Loading java/android_manifest.go +20 −7 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext if isLibrary { args = append(args, "--library") } else { minSdkVersion, err := sdkVersionToNumber(ctx, sdkContext.minSdkVersion()) minSdkVersion, err := sdkContext.minSdkVersion().effectiveVersion(ctx) if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } Loading Loading @@ -92,15 +92,28 @@ 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) targetSdkVersion, err := sdkContext.targetSdkVersion().effectiveVersionString(ctx) if err != nil { ctx.ModuleErrorf("invalid targetSdkVersion: %s", err) } if UseApiFingerprint(ctx, targetSdkVersion) { targetSdkVersion += fmt.Sprintf(".$$(cat %s)", ApiFingerprintPath(ctx).String()) deps = append(deps, ApiFingerprintPath(ctx)) } minSdkVersion, err := sdkContext.minSdkVersion().effectiveVersionString(ctx) if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } if UseApiFingerprint(ctx, minSdkVersion) { minSdkVersion += fmt.Sprintf(".$$(cat %s)", ApiFingerprintPath(ctx).String()) deps = append(deps, ApiFingerprintPath(ctx)) } fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml") if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } ctx.Build(pctx, android.BuildParams{ Rule: manifestFixerRule, Description: "fix manifest", Loading java/androidmk.go +3 −3 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries { if len(library.dexpreopter.builtInstalled) > 0 { entries.SetString("LOCAL_SOONG_BUILT_INSTALLED", library.dexpreopter.builtInstalled) } entries.SetString("LOCAL_SDK_VERSION", library.sdkVersion()) entries.SetString("LOCAL_SDK_VERSION", library.sdkVersion().raw) entries.SetPath("LOCAL_SOONG_CLASSES_JAR", library.implementationAndResourcesJar) entries.SetPath("LOCAL_SOONG_HEADER_JAR", library.headerJarFile) Loading Loading @@ -174,7 +174,7 @@ func (prebuilt *Import) AndroidMkEntries() []android.AndroidMkEntries { entries.SetBool("LOCAL_UNINSTALLABLE_MODULE", !Bool(prebuilt.properties.Installable)) entries.SetPath("LOCAL_SOONG_HEADER_JAR", prebuilt.combinedClasspathFile) entries.SetPath("LOCAL_SOONG_CLASSES_JAR", prebuilt.combinedClasspathFile) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion()) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion().raw) entries.SetString("LOCAL_MODULE_STEM", prebuilt.Stem()) }, }, Loading Loading @@ -223,7 +223,7 @@ func (prebuilt *AARImport) AndroidMkEntries() []android.AndroidMkEntries { entries.SetPath("LOCAL_SOONG_EXPORT_PROGUARD_FLAGS", prebuilt.proguardFlags) entries.SetPath("LOCAL_SOONG_STATIC_LIBRARY_EXTRA_PACKAGES", prebuilt.extraAaptPackagesFile) entries.SetPath("LOCAL_FULL_MANIFEST_FILE", prebuilt.manifest) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion()) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion().raw) }, }, }} Loading java/app.go +7 −7 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ type Certificate struct { func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) { a.Module.deps(ctx) if String(a.appProperties.Stl) == "c++_shared" && a.sdkVersion() == "" { if String(a.appProperties.Stl) == "c++_shared" && !a.sdkVersion().specified() { ctx.PropertyErrorf("stl", "sdk_version must be set in order to use c++_shared") } Loading Loading @@ -212,7 +212,7 @@ func (a *AndroidApp) GenerateAndroidBuildActions(ctx android.ModuleContext) { // Returns true if the native libraries should be stored in the APK uncompressed and the // extractNativeLibs application flag should be set to false in the manifest. func (a *AndroidApp) useEmbeddedNativeLibs(ctx android.ModuleContext) bool { minSdkVersion, err := sdkVersionToNumber(ctx, a.minSdkVersion()) minSdkVersion, err := a.minSdkVersion().effectiveVersion(ctx) if err != nil { ctx.PropertyErrorf("min_sdk_version", "invalid value %q: %s", a.minSdkVersion(), err) } Loading Loading @@ -1271,22 +1271,22 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC ctx.InstallFile(r.installDir, r.outputFile.Base(), r.outputFile) } func (r *RuntimeResourceOverlay) sdkVersion() string { return String(r.properties.Sdk_version) func (r *RuntimeResourceOverlay) sdkVersion() sdkSpec { return sdkSpecFrom(String(r.properties.Sdk_version)) } func (r *RuntimeResourceOverlay) systemModules() string { return "" } func (r *RuntimeResourceOverlay) minSdkVersion() string { func (r *RuntimeResourceOverlay) minSdkVersion() sdkSpec { if r.properties.Min_sdk_version != nil { return *r.properties.Min_sdk_version return sdkSpecFrom(*r.properties.Min_sdk_version) } return r.sdkVersion() } func (r *RuntimeResourceOverlay) targetSdkVersion() string { func (r *RuntimeResourceOverlay) targetSdkVersion() sdkSpec { return r.sdkVersion() } Loading Loading
android/config.go +2 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ import ( var Bool = proptools.Bool var String = proptools.String var FutureApiLevel = 10000 const FutureApiLevel = 10000 // The configuration file name const configFileName = "soong.config" Loading
java/aar.go +9 −6 Original line number Diff line number Diff line Loading @@ -177,7 +177,10 @@ func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkContext sdkContext, linkDeps = append(linkDeps, assetFiles...) // SDK version flags minSdkVersion := sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()) minSdkVersion, err := sdkContext.minSdkVersion().effectiveVersionString(ctx) if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } linkFlags = append(linkFlags, "--min-sdk-version "+minSdkVersion) linkFlags = append(linkFlags, "--target-sdk-version "+minSdkVersion) Loading Loading @@ -524,22 +527,22 @@ type AARImport struct { exportedStaticPackages android.Paths } func (a *AARImport) sdkVersion() string { return String(a.properties.Sdk_version) func (a *AARImport) sdkVersion() sdkSpec { return sdkSpecFrom(String(a.properties.Sdk_version)) } func (a *AARImport) systemModules() string { return "" } func (a *AARImport) minSdkVersion() string { func (a *AARImport) minSdkVersion() sdkSpec { if a.properties.Min_sdk_version != nil { return *a.properties.Min_sdk_version return sdkSpecFrom(*a.properties.Min_sdk_version) } return a.sdkVersion() } func (a *AARImport) targetSdkVersion() string { func (a *AARImport) targetSdkVersion() sdkSpec { return a.sdkVersion() } Loading
java/android_manifest.go +20 −7 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext if isLibrary { args = append(args, "--library") } else { minSdkVersion, err := sdkVersionToNumber(ctx, sdkContext.minSdkVersion()) minSdkVersion, err := sdkContext.minSdkVersion().effectiveVersion(ctx) if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } Loading Loading @@ -92,15 +92,28 @@ 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) targetSdkVersion, err := sdkContext.targetSdkVersion().effectiveVersionString(ctx) if err != nil { ctx.ModuleErrorf("invalid targetSdkVersion: %s", err) } if UseApiFingerprint(ctx, targetSdkVersion) { targetSdkVersion += fmt.Sprintf(".$$(cat %s)", ApiFingerprintPath(ctx).String()) deps = append(deps, ApiFingerprintPath(ctx)) } minSdkVersion, err := sdkContext.minSdkVersion().effectiveVersionString(ctx) if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } if UseApiFingerprint(ctx, minSdkVersion) { minSdkVersion += fmt.Sprintf(".$$(cat %s)", ApiFingerprintPath(ctx).String()) deps = append(deps, ApiFingerprintPath(ctx)) } fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml") if err != nil { ctx.ModuleErrorf("invalid minSdkVersion: %s", err) } ctx.Build(pctx, android.BuildParams{ Rule: manifestFixerRule, Description: "fix manifest", Loading
java/androidmk.go +3 −3 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries { if len(library.dexpreopter.builtInstalled) > 0 { entries.SetString("LOCAL_SOONG_BUILT_INSTALLED", library.dexpreopter.builtInstalled) } entries.SetString("LOCAL_SDK_VERSION", library.sdkVersion()) entries.SetString("LOCAL_SDK_VERSION", library.sdkVersion().raw) entries.SetPath("LOCAL_SOONG_CLASSES_JAR", library.implementationAndResourcesJar) entries.SetPath("LOCAL_SOONG_HEADER_JAR", library.headerJarFile) Loading Loading @@ -174,7 +174,7 @@ func (prebuilt *Import) AndroidMkEntries() []android.AndroidMkEntries { entries.SetBool("LOCAL_UNINSTALLABLE_MODULE", !Bool(prebuilt.properties.Installable)) entries.SetPath("LOCAL_SOONG_HEADER_JAR", prebuilt.combinedClasspathFile) entries.SetPath("LOCAL_SOONG_CLASSES_JAR", prebuilt.combinedClasspathFile) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion()) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion().raw) entries.SetString("LOCAL_MODULE_STEM", prebuilt.Stem()) }, }, Loading Loading @@ -223,7 +223,7 @@ func (prebuilt *AARImport) AndroidMkEntries() []android.AndroidMkEntries { entries.SetPath("LOCAL_SOONG_EXPORT_PROGUARD_FLAGS", prebuilt.proguardFlags) entries.SetPath("LOCAL_SOONG_STATIC_LIBRARY_EXTRA_PACKAGES", prebuilt.extraAaptPackagesFile) entries.SetPath("LOCAL_FULL_MANIFEST_FILE", prebuilt.manifest) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion()) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion().raw) }, }, }} Loading
java/app.go +7 −7 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ type Certificate struct { func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) { a.Module.deps(ctx) if String(a.appProperties.Stl) == "c++_shared" && a.sdkVersion() == "" { if String(a.appProperties.Stl) == "c++_shared" && !a.sdkVersion().specified() { ctx.PropertyErrorf("stl", "sdk_version must be set in order to use c++_shared") } Loading Loading @@ -212,7 +212,7 @@ func (a *AndroidApp) GenerateAndroidBuildActions(ctx android.ModuleContext) { // Returns true if the native libraries should be stored in the APK uncompressed and the // extractNativeLibs application flag should be set to false in the manifest. func (a *AndroidApp) useEmbeddedNativeLibs(ctx android.ModuleContext) bool { minSdkVersion, err := sdkVersionToNumber(ctx, a.minSdkVersion()) minSdkVersion, err := a.minSdkVersion().effectiveVersion(ctx) if err != nil { ctx.PropertyErrorf("min_sdk_version", "invalid value %q: %s", a.minSdkVersion(), err) } Loading Loading @@ -1271,22 +1271,22 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC ctx.InstallFile(r.installDir, r.outputFile.Base(), r.outputFile) } func (r *RuntimeResourceOverlay) sdkVersion() string { return String(r.properties.Sdk_version) func (r *RuntimeResourceOverlay) sdkVersion() sdkSpec { return sdkSpecFrom(String(r.properties.Sdk_version)) } func (r *RuntimeResourceOverlay) systemModules() string { return "" } func (r *RuntimeResourceOverlay) minSdkVersion() string { func (r *RuntimeResourceOverlay) minSdkVersion() sdkSpec { if r.properties.Min_sdk_version != nil { return *r.properties.Min_sdk_version return sdkSpecFrom(*r.properties.Min_sdk_version) } return r.sdkVersion() } func (r *RuntimeResourceOverlay) targetSdkVersion() string { func (r *RuntimeResourceOverlay) targetSdkVersion() sdkSpec { return r.sdkVersion() } Loading