diff options
| author | 2022-05-24 15:12:14 +0000 | |
|---|---|---|
| committer | 2022-05-24 15:12:14 +0000 | |
| commit | 78ce8c23def25e30fba5e2cdb124ad3f0409751c (patch) | |
| tree | cf73a707d6f317ee6722f3af2d7ee0c7bea43749 /java | |
| parent | 91f10eccc6a081800b24f8d7e5f8ad6ad14c4e40 (diff) | |
| parent | ce720c366327611b366db75737309870b59ed53e (diff) | |
Merge "Add experimental option to target Java 17"
Diffstat (limited to 'java')
| -rw-r--r-- | java/java.go | 15 | ||||
| -rw-r--r-- | java/sdk.go | 6 |
2 files changed, 19 insertions, 2 deletions
diff --git a/java/java.go b/java/java.go index 511e885e9..0dfb968e9 100644 --- a/java/java.go +++ b/java/java.go @@ -468,6 +468,12 @@ func getJavaVersion(ctx android.ModuleContext, javaVersion string, sdkContext an return normalizeJavaVersion(ctx, javaVersion) } else if ctx.Device() { return defaultJavaLanguageVersion(ctx, sdkContext.SdkVersion(ctx)) + } else if ctx.Config().TargetsJava17() { + // Temporary experimental flag to be able to try and build with + // java version 17 options. The flag, if used, just sets Java + // 17 as the default version, leaving any components that + // target an older version intact. + return JAVA_VERSION_17 } else { return JAVA_VERSION_11 } @@ -482,6 +488,7 @@ const ( JAVA_VERSION_8 = 8 JAVA_VERSION_9 = 9 JAVA_VERSION_11 = 11 + JAVA_VERSION_17 = 17 ) func (v javaVersion) String() string { @@ -496,6 +503,8 @@ func (v javaVersion) String() string { return "1.9" case JAVA_VERSION_11: return "11" + case JAVA_VERSION_17: + return "17" default: return "unsupported" } @@ -518,8 +527,10 @@ func normalizeJavaVersion(ctx android.BaseModuleContext, javaVersion string) jav return JAVA_VERSION_9 case "11": return JAVA_VERSION_11 - case "10": - ctx.PropertyErrorf("java_version", "Java language levels 10 is not supported") + case "17": + return JAVA_VERSION_11 + case "10", "12", "13", "14", "15", "16": + ctx.PropertyErrorf("java_version", "Java language level %s is not supported", javaVersion) return JAVA_VERSION_UNSUPPORTED default: ctx.PropertyErrorf("java_version", "Unrecognized Java language level") diff --git a/java/sdk.go b/java/sdk.go index 0dddd40aa..b0da5afba 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -57,6 +57,12 @@ func defaultJavaLanguageVersion(ctx android.EarlyModuleContext, s android.SdkSpe return JAVA_VERSION_8 } else if sdk.FinalOrFutureInt() <= 31 { return JAVA_VERSION_9 + } else if ctx.Config().TargetsJava17() { + // Temporary experimental flag to be able to try and build with + // java version 17 options. The flag, if used, just sets Java + // 17 as the default version, leaving any components that + // target an older version intact. + return JAVA_VERSION_17 } else { return JAVA_VERSION_11 } |