summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
authorJooyung Han <jooyung@google.com>2020-06-25 01:35:43 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-06-25 01:35:43 +0000
commitafdc5239b80d70348bdeabcf5cdf8e9f30f49976 (patch)
tree2d471e3275ae355065a9b03a8d95a222294ceab0 /java/java.go
parent5d0dfbf87b214905b8981eeaf332e2807b94e7bc (diff)
parent14a08f5b2881fb67d772dfec2e3d0eaa189ba9d1 (diff)
Merge "apex/apk: enforce min_sdk_version of all deps" am: 14a08f5b28
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1287253 Change-Id: Ibfaeb242fb32ed11735938091fe4cb8fb88b5370
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go
index 7d32c3406..5b3163087 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1887,6 +1887,24 @@ func (j *Module) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Modu
return j.depIsInSameApex(ctx, dep)
}
+func (j *Module) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion int) error {
+ sdkSpec := j.minSdkVersion()
+ if !sdkSpec.specified() {
+ return fmt.Errorf("min_sdk_version is not specified")
+ }
+ if sdkSpec.kind == sdkCore {
+ return nil
+ }
+ ver, err := sdkSpec.effectiveVersion(ctx)
+ if err != nil {
+ return err
+ }
+ if int(ver) > sdkVersion {
+ return fmt.Errorf("newer SDK(%v)", ver)
+ }
+ return nil
+}
+
func (j *Module) Stem() string {
return proptools.StringDefault(j.deviceProperties.Stem, j.Name())
}
@@ -2651,6 +2669,11 @@ func (j *Import) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Modu
return j.depIsInSameApex(ctx, dep)
}
+func (j *Import) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion int) error {
+ // Do not check for prebuilts against the min_sdk_version of enclosing APEX
+ return nil
+}
+
// Add compile time check for interface implementation
var _ android.IDEInfo = (*Import)(nil)
var _ android.IDECustomizedModuleName = (*Import)(nil)
@@ -2820,6 +2843,11 @@ func (j *DexImport) DexJarBuildPath() android.Path {
return j.dexJarFile
}
+func (j *DexImport) ShouldSupportSdkVersion(ctx android.BaseModuleContext, sdkVersion int) error {
+ // we don't check prebuilt modules for sdk_version
+ return nil
+}
+
// dex_import imports a `.jar` file containing classes.dex files.
//
// A dex_import module cannot be used as a dependency of a java_* or android_* module, it can only be installed