aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar lberki <lberki@google.com>2017-05-31 12:34:29 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-05-31 13:53:57 +0200
commit9bab6634766c5addc6e939e97981c7c78b0a567c (patch)
treef48e0fea7addb1f0e3bc5c7d57bcaef73670c8ec /src/main
parentb707c8b1366b868f521810685226f95cbe352ce1 (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.java20
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();
}