aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
index faede121b7..9c98907be2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
@@ -451,6 +451,8 @@ final class JavaInfoBuildHelper {
throw new EvalException(null, "'host_javabase' must point to a Java runtime");
}
+ JavaToolchainProvider toolchainProvider = getJavaToolchainProvider(javaToolchain);
+
JavaLibraryHelper helper =
new JavaLibraryHelper(skylarkRuleContext.getRuleContext())
.setOutput(outputJar)
@@ -458,7 +460,16 @@ final class JavaInfoBuildHelper {
.addSourceFiles(sourceFiles)
.addResources(resources)
.setSourcePathEntries(sourcepathEntries)
- .setJavacOpts(javacOpts);
+ .setJavacOpts(
+ ImmutableList.<String>builder()
+ .addAll(
+ JavaCommon.computeToolchainJavacOpts(
+ skylarkRuleContext.getRuleContext(), toolchainProvider))
+ .addAll(
+ javaSemantics.getCompatibleJavacOptions(
+ skylarkRuleContext.getRuleContext(), toolchainProvider))
+ .addAll(javacOpts)
+ .build());
List<JavaCompilationArgsProvider> depsCompilationArgsProviders =
JavaInfo.fetchProvidersFromList(deps, JavaCompilationArgsProvider.class);
@@ -486,7 +497,7 @@ final class JavaInfoBuildHelper {
JavaCompilationArtifacts artifacts =
helper.build(
javaSemantics,
- getJavaToolchainProvider(javaToolchain),
+ toolchainProvider,
javaRuntimeInfo,
SkylarkList.createImmutable(ImmutableList.of()),
outputJarsBuilder,