summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-08-08 13:17:59 -0700
committerColin Cross <ccross@android.com>2017-08-11 15:24:11 -0700
commit6416271a1f6ec76e5dfac4573eec78bbd4f3ba3b (patch)
tree817090b78efd6d66fcdcb2a137399e080886a894 /java/java.go
parent74d73e2bfb016bd137a4fb7e125576b5f9a6cda4 (diff)
Bring java support closer to current version of make
Make the javac arguments match what is used by make, and export them back to make. A future change will switch make to use the the exported ones. This makes a dx.jar compiled with soong have identical class files as one compiled with make. Test: manual Change-Id: Ia5196f1f42bc564e99de22e32e72fd2930e9fbae
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go
index 37d959bc6..4c614e5df 100644
--- a/java/java.go
+++ b/java/java.go
@@ -92,6 +92,9 @@ type CompilerProperties struct {
// if not blank, run jarjar using the specified rules file
Jarjar_rules *string
+
+ // If not blank, set the java version passed to javac as -source and -target
+ Java_version *string
}
type CompilerDeviceProperties struct {
@@ -285,6 +288,13 @@ func (j *Module) compile(ctx android.ModuleContext) {
var flags javaBuilderFlags
javacFlags := j.properties.Javacflags
+
+ if j.properties.Java_version != nil {
+ flags.javaVersion = *j.properties.Java_version
+ } else {
+ flags.javaVersion = "${config.DefaultJavaVersion}"
+ }
+
if len(javacFlags) > 0 {
ctx.Variable(pctx, "javacFlags", strings.Join(javacFlags, " "))
flags.javacFlags = "$javacFlags"