summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
authorNan Zhang <nanzhang@google.com>2018-04-17 17:38:36 -0700
committerNan Zhang <nanzhang@google.com>2018-06-19 10:55:29 -0700
commit357466b18a467bda9debe3a33fbcf932c9670163 (patch)
tree13195aa50e127c5e03a5e52dd9921f6fa09f3cc5 /java/java.go
parentf89db951e50ce18f5571d879865470795ec6d5e4 (diff)
Support Java Lang level 9 for droiddoc in Soong.
Test: m -j docs / m -j metalava-api-stubs-docs Bug: b/70351683 Change-Id: I7220d04f508f6bb5ffd281cf31bc8c0069c219e5
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go34
1 files changed, 21 insertions, 13 deletions
diff --git a/java/java.go b/java/java.go
index 00ee5319b..969b0637e 100644
--- a/java/java.go
+++ b/java/java.go
@@ -788,6 +788,25 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
return deps
}
+func getJavaVersion(ctx android.ModuleContext, javaVersion, sdkVersion string) string {
+ var ret string
+ sdk := sdkStringToNumber(ctx, sdkVersion)
+ if javaVersion != "" {
+ ret = javaVersion
+ } else if ctx.Device() && sdk <= 23 {
+ ret = "1.7"
+ } else if ctx.Device() && sdk <= 26 || !ctx.Config().TargetOpenJDK9() {
+ ret = "1.8"
+ } else if ctx.Device() && sdkVersion != "" && sdk == android.FutureApiLevel {
+ // TODO(ccross): once we generate stubs we should be able to use 1.9 for sdk_version: "current"
+ ret = "1.8"
+ } else {
+ ret = "1.9"
+ }
+
+ return ret
+}
+
func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaBuilderFlags {
var flags javaBuilderFlags
@@ -813,19 +832,8 @@ func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaB
}
// javaVersion flag.
- sdk := sdkStringToNumber(ctx, String(j.deviceProperties.Sdk_version))
- if j.properties.Java_version != nil {
- flags.javaVersion = *j.properties.Java_version
- } else if ctx.Device() && sdk <= 23 {
- flags.javaVersion = "1.7"
- } else if ctx.Device() && sdk <= 26 || !ctx.Config().TargetOpenJDK9() {
- flags.javaVersion = "1.8"
- } else if ctx.Device() && String(j.deviceProperties.Sdk_version) != "" && sdk == android.FutureApiLevel {
- // TODO(ccross): once we generate stubs we should be able to use 1.9 for sdk_version: "current"
- flags.javaVersion = "1.8"
- } else {
- flags.javaVersion = "1.9"
- }
+ flags.javaVersion = getJavaVersion(ctx,
+ String(j.properties.Java_version), String(j.deviceProperties.Sdk_version))
// classpath
flags.bootClasspath = append(flags.bootClasspath, deps.bootClasspath...)