diff options
author | Nan Zhang <nanzhang@google.com> | 2018-04-17 17:38:36 -0700 |
---|---|---|
committer | Nan Zhang <nanzhang@google.com> | 2018-06-19 10:55:29 -0700 |
commit | 357466b18a467bda9debe3a33fbcf932c9670163 (patch) | |
tree | 13195aa50e127c5e03a5e52dd9921f6fa09f3cc5 /java/java.go | |
parent | f89db951e50ce18f5571d879865470795ec6d5e4 (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.go | 34 |
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...) |