From 9bab6634766c5addc6e939e97981c7c78b0a567c Mon Sep 17 00:00:00 2001 From: lberki Date: Wed, 31 May 2017 12:34:29 +0200 Subject: Do not run imported jars through ijar when --nouse_ijars is on the command line. RELNOTES: None. PiperOrigin-RevId: 157569836 --- .../devtools/build/lib/rules/java/JavaImport.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/main') 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 compilationToRuntimeJarMapBuilder = ImmutableBiMap.builder(); ImmutableList 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 processWithIjar(ImmutableList jars, + private ImmutableList processWithIjarIfNeeded(ImmutableList jars, RuleContext ruleContext, ImmutableMap.Builder compilationToRuntimeJarMap) { ImmutableList.Builder 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(); } -- cgit v1.2.3