From e5fc3ae790812920fe5d7cfa65b0e6157d38e46e Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Mon, 16 Nov 2015 23:14:26 +0000 Subject: Store the java_toolchain source version, target version, and encoding in JavaToolchainProvider. -- MOS_MIGRATED_REVID=107982866 --- .../build/lib/rules/java/JavaToolchainData.java | 31 ++++++++++++++++++---- .../lib/rules/java/JavaToolchainProvider.java | 21 ++++++++++++++- 2 files changed, 46 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java index ad6a39698b..e022538824 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainData.java @@ -28,18 +28,27 @@ import java.util.List; */ @Immutable public class JavaToolchainData { + + private final String sourceVersion; + private final String targetVersion; + private final String encoding; private final ImmutableList options; private final ImmutableList jvmOpts; - public JavaToolchainData(String source, String target, String encoding, + public JavaToolchainData(String sourceVersion, String targetVersion, String encoding, List xlint, List misc, List jvmOpts) { + + this.sourceVersion = sourceVersion; + this.targetVersion = targetVersion; + this.encoding = encoding; + this.jvmOpts = ImmutableList.copyOf(jvmOpts); Builder builder = ImmutableList.builder(); - if (!source.isEmpty()) { - builder.add("-source", source); + if (!sourceVersion.isEmpty()) { + builder.add("-source", sourceVersion); } - if (!target.isEmpty()) { - builder.add("-target", target); + if (!targetVersion.isEmpty()) { + builder.add("-target", targetVersion); } if (!encoding.isEmpty()) { builder.add("-encoding", encoding); @@ -63,4 +72,16 @@ public class JavaToolchainData { public ImmutableList getJavacJvmOptions() { return jvmOpts; } + + public String getSourceVersion() { + return sourceVersion; + } + + public String getTargetVersion() { + return targetVersion; + } + + public String getEncoding() { + return encoding; + } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java index bf37de8e36..6063896923 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java @@ -28,12 +28,19 @@ import java.util.List; @Immutable public final class JavaToolchainProvider implements TransitiveInfoProvider { + private final String sourceVersion; + private final String targetVersion; + private final String encoding; private final ImmutableList javacOptions; private final ImmutableList javacJvmOptions; public JavaToolchainProvider(JavaToolchainData data, List defaultJavacFlags, List defaultJavacJvmOpts) { - super(); + + this.sourceVersion = data.getSourceVersion(); + this.targetVersion = data.getTargetVersion(); + this.encoding = data.getEncoding(); + // merges the defaultJavacFlags from // {@link JavaConfiguration} with the flags from the {@code java_toolchain} rule. this.javacOptions = ImmutableList.builder() @@ -100,4 +107,16 @@ public final class JavaToolchainProvider implements TransitiveInfoProvider { } return javaToolchain.getJavacJvmOptions(); } + + public String getSourceVersion() { + return sourceVersion; + } + + public String getTargetVersion() { + return targetVersion; + } + + public String getEncoding() { + return encoding; + } } -- cgit v1.2.3