Use the current java version for -jvm-target

This is a partial revert of aosp/541879.
In that cl, the kotlin jvm version was always
set to 1.8 because that's what the kotlin
complier supported at the time, but now
it supports more versions:

$ ./external/kotlinc/bin/kotlinc -jvm-target foo
error: unknown JVM target version: foo
Supported versions: 1.6, 1.8, 9, 10, 11, 12, 13, 14, 15, 16, 17

Bug: 69160377
Bug: 236431222
Test: Treehugger
Change-Id: I273e0b4d1f484013889e17c60bc1b299a3f975a1
This commit is contained in:
Cole Faust
2022-06-28 14:41:27 -07:00
committed by Steve Elliott
parent 7c255f8aa2
commit 3dcaf7550f
2 changed files with 16 additions and 3 deletions

View File

@@ -526,6 +526,20 @@ func (v javaVersion) String() string {
} }
} }
func (v javaVersion) StringForKotlinc() string {
// $ ./external/kotlinc/bin/kotlinc -jvm-target foo
// error: unknown JVM target version: foo
// Supported versions: 1.6, 1.8, 9, 10, 11, 12, 13, 14, 15, 16, 17
switch v {
case JAVA_VERSION_7:
return "1.6"
case JAVA_VERSION_9:
return "9"
default:
return v.String()
}
}
// Returns true if javac targeting this version uses system modules instead of a bootclasspath. // Returns true if javac targeting this version uses system modules instead of a bootclasspath.
func (v javaVersion) usesJavaModules() bool { func (v javaVersion) usesJavaModules() bool {
return v >= 9 return v >= 9

View File

@@ -119,8 +119,7 @@ func kotlinCompile(ctx android.ModuleContext, outputFile, headerOutputFile andro
"srcJarDir": android.PathForModuleOut(ctx, "kotlinc", "srcJars").String(), "srcJarDir": android.PathForModuleOut(ctx, "kotlinc", "srcJars").String(),
"kotlinBuildFile": android.PathForModuleOut(ctx, "kotlinc-build.xml").String(), "kotlinBuildFile": android.PathForModuleOut(ctx, "kotlinc-build.xml").String(),
"emptyDir": android.PathForModuleOut(ctx, "kotlinc", "empty").String(), "emptyDir": android.PathForModuleOut(ctx, "kotlinc", "empty").String(),
// http://b/69160377 kotlinc only supports -jvm-target 1.6 and 1.8 "kotlinJvmTarget": flags.javaVersion.StringForKotlinc(),
"kotlinJvmTarget": "1.8",
"name": kotlinName, "name": kotlinName,
}, },
}) })