diff options
author | 2017-05-31 12:34:29 +0200 | |
---|---|---|
committer | 2017-05-31 13:53:57 +0200 | |
commit | 9bab6634766c5addc6e939e97981c7c78b0a567c (patch) | |
tree | f48e0fea7addb1f0e3bc5c7d57bcaef73670c8ec /src/main | |
parent | b707c8b1366b868f521810685226f95cbe352ce1 (diff) |
Do not run imported jars through ijar when --nouse_ijars is on the command line.
RELNOTES: None.
PiperOrigin-RevId: 157569836
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(); } |