A minor change in the path of ijars: previously the exec path of a java_binary was a prefix of the exec path of the associated ijar, which may cause problems. This was discovered using my "bindir == genfilesdir == outputdir" experiment. -- MOS_MIGRATED_REVID=89285440
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java index 3f8448a..f0b4bde 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/BaseJavaCompilationHelper.java
@@ -136,8 +136,7 @@ private Artifact getIjarArtifact(Artifact jar, boolean addPrefix) { if (addPrefix) { - PathFragment ruleBase = ruleContext.getLabel().getPackageIdentifier().getPathFragment() - .getRelative(ruleContext.getLabel().getName()).getRelative("_ijars"); + PathFragment ruleBase = ruleContext.getUniqueDirectory("_ijar"); PathFragment artifactDirFragment = jar.getRootRelativePath().getParentDirectory(); String ijarBasename = FileSystemUtils.removeExtension(jar.getFilename()) + "-ijar.jar"; return getAnalysisEnvironment().getDerivedArtifact(