summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
author Pete Gillin <peteg@google.com> 2019-08-29 11:32:00 -0700
committer android-build-merger <android-build-merger@google.com> 2019-08-29 11:32:00 -0700
commit82639482fa847352e5bbcef49d167bd9b963ed99 (patch)
treece617a44a7f44cbc34750b300282028a0740df52 /java/java.go
parent586b8a20423f1a9e331a701287eb5f868f9853b1 (diff)
parent17f4728d4b151e125c77256e4029dfc664a02648 (diff)
Merge "Normalize and validate the java_version property."
am: 17f4728d4b Change-Id: Ib1caaf9cbe29cfee6bbffa54acdd3aaabaf59e20
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/java/java.go b/java/java.go
index 2193a2bd7..f278d5ee0 100644
--- a/java/java.go
+++ b/java/java.go
@@ -907,7 +907,7 @@ func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext sd
ctx.PropertyErrorf("sdk_version", "%s", err)
}
if javaVersion != "" {
- ret = javaVersion
+ ret = normalizeJavaVersion(ctx, javaVersion)
} else if ctx.Device() && sdk <= 23 {
ret = "1.7"
} else if ctx.Device() && sdk <= 29 || !ctx.Config().TargetOpenJDK9() {
@@ -926,6 +926,25 @@ func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext sd
return ret
}
+func normalizeJavaVersion(ctx android.ModuleContext, javaVersion string) string {
+ switch javaVersion {
+ case "1.6", "6":
+ return "1.6"
+ case "1.7", "7":
+ return "1.7"
+ case "1.8", "8":
+ return "1.8"
+ case "1.9", "9":
+ return "1.9"
+ case "10", "11":
+ ctx.PropertyErrorf("java_version", "Java language levels above 9 are not supported")
+ return "unsupported"
+ default:
+ ctx.PropertyErrorf("java_version", "Unrecognized Java language level")
+ return "unrecognized"
+ }
+}
+
func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaBuilderFlags {
var flags javaBuilderFlags