diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java index c039722eb0..a3393c9d44 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java @@ -73,7 +73,7 @@ public class JavaImport implements RuleConfiguredTargetFactory { ImmutableBiMap.Builder<Artifact, Artifact> compilationToRuntimeJarMapBuilder = ImmutableBiMap.builder(); ImmutableList<Artifact> interfaceJars = - processWithIjar(jars, ruleContext, compilationToRuntimeJarMapBuilder); + processWithIjarIfNeeded(jars, ruleContext, compilationToRuntimeJarMapBuilder); JavaCompilationArtifacts javaArtifacts = collectJavaArtifacts(jars, interfaceJars); common.setJavaCompilationArtifacts(javaArtifacts); @@ -234,17 +234,21 @@ public class JavaImport implements RuleConfiguredTargetFactory { return ImmutableList.copyOf(jars); } - private ImmutableList<Artifact> processWithIjar(ImmutableList<Artifact> jars, + private ImmutableList<Artifact> processWithIjarIfNeeded(ImmutableList<Artifact> jars, RuleContext ruleContext, ImmutableMap.Builder<Artifact, Artifact> compilationToRuntimeJarMap) { ImmutableList.Builder<Artifact> interfaceJarsBuilder = ImmutableList.builder(); + boolean useIjar = ruleContext.getFragment(JavaConfiguration.class).getUseIjars(); for (Artifact jar : jars) { - Artifact ijar = JavaCompilationHelper.createIjarAction( - ruleContext, - JavaCompilationHelper.getJavaToolchainProvider(ruleContext), - jar, true); - interfaceJarsBuilder.add(ijar); - compilationToRuntimeJarMap.put(ijar, jar); + Artifact interfaceJar = useIjar + ? JavaCompilationHelper.createIjarAction( + ruleContext, + JavaCompilationHelper.getJavaToolchainProvider(ruleContext), + jar, + true) + : jar; + interfaceJarsBuilder.add(interfaceJar); + compilationToRuntimeJarMap.put(interfaceJar, jar); } return interfaceJarsBuilder.build(); } |