diff options
| author | 2019-08-29 18:15:07 +0000 | |
|---|---|---|
| committer | 2019-08-29 18:15:07 +0000 | |
| commit | 17f4728d4b151e125c77256e4029dfc664a02648 (patch) | |
| tree | ad7aef6fca531ee10883186cbc16b9cf3d61ef0b /java/java.go | |
| parent | 1e7f14b1d5f5f6587d723e93fab8d67f1cc668b9 (diff) | |
| parent | 4e8b48a0552ac188256835e0812b88e2ca511d61 (diff) | |
Merge "Normalize and validate the java_version property."
Diffstat (limited to 'java/java.go')
| -rw-r--r-- | java/java.go | 21 |
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 |