aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2015-08-12 15:48:30 +0000
committerGravatar Florian Weikert <fwe@google.com>2015-08-13 14:01:20 +0000
commit9d513cab93f03856c5e7ccdd38dbf864f7c5be00 (patch)
tree364594dcb237e71d6cc05ff2129e8fc9d3be5796
parent32988c68b404bff1a9084b6d24f1d5c00fa28114 (diff)
Set the workspace suffix for runfiles
This CL covers the "easy" cases. Followup CLs will take care of couple dozen remaining gnarly ones. -- MOS_MIGRATED_REVID=100479410
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java28
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/objc/BazelIosTest.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShBinary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/filegroup/Filegroup.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/python/PyBinary.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/TestSuite.java2
25 files changed, 53 insertions, 49 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
index ac83eca8cc..0aa3f483d7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
@@ -221,7 +221,7 @@ public final class Runfiles {
NestedSet<SymlinkEntry> rootSymlinks,
NestedSet<PruningManifest> pruningManifests,
EmptyFilesSupplier emptyFilesSupplier) {
- this.suffix = suffix == null ? Constants.DEFAULT_RUNFILES_PREFIX : suffix;
+ this.suffix = suffix.isEmpty() ? Constants.DEFAULT_RUNFILES_PREFIX : suffix;
this.unconditionalArtifacts = Preconditions.checkNotNull(artifacts);
this.symlinks = Preconditions.checkNotNull(symlinks);
this.rootSymlinks = Preconditions.checkNotNull(rootSymlinks);
@@ -503,6 +503,17 @@ public final class Runfiles {
private EmptyFilesSupplier emptyFilesSupplier = DUMMY_EMPTY_FILES_SUPPLIER;
/**
+ * Only used for Runfiles.EMPTY.
+ */
+ public Builder() {
+ this.suffix = "";
+ }
+
+ public Builder(String suffix) {
+ this.suffix = suffix;
+ }
+
+ /**
* Builds a new Runfiles object.
*/
public Runfiles build() {
@@ -645,7 +656,6 @@ public final class Runfiles {
Function<TransitiveInfoCollection, Runfiles> mapping) {
Preconditions.checkNotNull(mapping);
Preconditions.checkNotNull(ruleContext);
- suffix = ruleContext.getWorkspaceName();
addDataDeps(ruleContext);
addNonDataDeps(ruleContext, mapping);
return this;
@@ -660,7 +670,6 @@ public final class Runfiles {
Function<TransitiveInfoCollection, Runfiles> mapping) {
Preconditions.checkNotNull(ruleContext);
Preconditions.checkNotNull(mapping);
- suffix = ruleContext.getWorkspaceName();
for (TransitiveInfoCollection dep : getNonDataDeps(ruleContext)) {
Runfiles runfiles = mapping.apply(dep);
if (runfiles != null) {
@@ -675,7 +684,6 @@ public final class Runfiles {
* Collects runfiles from data dependencies of a target.
*/
public Builder addDataDeps(RuleContext ruleContext) {
- suffix = ruleContext.getWorkspaceName();
addTargets(getPrerequisites(ruleContext, "data", Mode.DATA), RunfilesProvider.DATA_RUNFILES);
return this;
}
@@ -685,7 +693,6 @@ public final class Runfiles {
*/
public Builder addNonDataDeps(RuleContext ruleContext,
Function<TransitiveInfoCollection, Runfiles> mapping) {
- suffix = ruleContext.getWorkspaceName();
for (TransitiveInfoCollection target : getNonDataDeps(ruleContext)) {
addTargetExceptFileTargets(target, mapping);
}
@@ -757,15 +764,6 @@ public final class Runfiles {
}
/**
- * Sets the directory name to put runfiles under. "" is the default and puts the runfiles
- * immediately under the &lt;target&gt;.runfiles directory.
- */
- public Builder setSuffix(String workspaceName) {
- suffix = workspaceName;
- return this;
- }
-
- /**
* Add the other {@link Runfiles} object transitively, with the option to include or exclude
* pruning manifests in the merge.
*/
@@ -773,7 +771,7 @@ public final class Runfiles {
artifactsBuilder.addTransitive(runfiles.getUnconditionalArtifacts());
symlinksBuilder.addTransitive(runfiles.getSymlinks());
rootSymlinksBuilder.addTransitive(runfiles.getRootSymlinks());
- if (suffix == null) {
+ if (suffix.isEmpty()) {
suffix = runfiles.suffix;
}
if (includePruningManifests) {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java b/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java
index f3c5d8c091..626712f09b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java
@@ -98,7 +98,7 @@ public class RunfilesSupport {
&& TargetUtils.isTestRule(ruleContext.getRule())) {
TransitiveInfoCollection runUnderTarget =
ruleContext.getPrerequisite(":run_under", Mode.DATA);
- runfiles = new Runfiles.Builder()
+ runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.merge(getRunfiles(runUnderTarget))
.merge(runfiles)
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRule.java
index d70f9a7298..eea5944371 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRule.java
@@ -142,7 +142,8 @@ public class GenRule implements RuleConfiguredTargetFactory {
// No need to visit the dependencies of a genrule. They cross from the target into the host
// configuration, because the dependencies of a genrule are always built for the host
// configuration.
- new Runfiles.Builder().addTransitiveArtifacts(filesToBuild).build());
+ new Runfiles.Builder(ruleContext.getWorkspaceName()).addTransitiveArtifacts(filesToBuild)
+ .build());
return new RuleConfiguredTargetBuilder(ruleContext)
.setFilesToBuild(filesToBuild)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/objc/BazelIosTest.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/objc/BazelIosTest.java
index 39d2124667..2950b151b5 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/objc/BazelIosTest.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/objc/BazelIosTest.java
@@ -53,7 +53,8 @@ public final class BazelIosTest extends IosTest {
ImmutableList.<TemplateExpansionAction.Substitution>of(),
/*executable=*/ true));
- Runfiles runfiles = new Runfiles.Builder().addArtifact(testScript).build();
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
+ .addArtifact(testScript).build();
RunfilesSupport runfilesSupport =
RunfilesSupport.withExecutable(ruleContext, runfiles, testScript);
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShBinary.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShBinary.java
index acdba76fc0..c3f505f85f 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShBinary.java
@@ -56,7 +56,7 @@ public class ShBinary implements RuleConfiguredTargetFactory {
.add(src)
.add(symlink)
.build();
- Runfiles runfiles = new Runfiles.Builder()
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.addTransitiveArtifacts(filesToBuild)
.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES)
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShLibrary.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShLibrary.java
index e2744ea0d8..337317dda5 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/ShLibrary.java
@@ -36,7 +36,7 @@ public class ShLibrary implements RuleConfiguredTargetFactory {
.addAll(ruleContext.getPrerequisiteArtifacts("deps", Mode.TARGET).list())
.addAll(ruleContext.getPrerequisiteArtifacts("data", Mode.DATA).list())
.build();
- Runfiles runfiles = new Runfiles.Builder()
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.addTransitiveArtifacts(filesToBuild)
.build();
return new RuleConfiguredTargetBuilder(ruleContext)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java
index 11eca3b9dc..683771e8b1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java
@@ -176,7 +176,7 @@ public final class SkylarkRuleConfiguredTargetBuilder {
}
RunfilesProvider runfilesProvider = statelessRunfiles != null
- ? RunfilesProvider.simple(merge(statelessRunfiles, executable))
+ ? RunfilesProvider.simple(merge(statelessRunfiles, executable, ruleContext))
: RunfilesProvider.withData(
// The executable doesn't get into the default runfiles if we have runfiles states.
// This is to keep skylark genrule consistent with the original genrule.
@@ -220,10 +220,11 @@ public final class SkylarkRuleConfiguredTargetBuilder {
paramName, EvalUtils.getDataTypeName(value, false), value);
}
- private static Runfiles merge(Runfiles runfiles, Artifact executable) {
+ private static Runfiles merge(Runfiles runfiles, Artifact executable, RuleContext ruleContext) {
if (executable == null) {
return runfiles;
}
- return new Runfiles.Builder().addArtifact(executable).merge(runfiles).build();
+ return new Runfiles.Builder(ruleContext.getWorkspaceName()).addArtifact(executable)
+ .merge(runfiles).build();
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
index 6edc400436..4cb6ca52db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
@@ -473,7 +473,7 @@ public class SkylarkRuleImplementationFunctions {
public Runfiles invoke(SkylarkRuleContext ctx, SkylarkList files, Object transitiveFiles,
Boolean collectData, Boolean collectDefault,
Location loc) throws EvalException, ConversionException {
- Runfiles.Builder builder = new Runfiles.Builder();
+ Runfiles.Builder builder = new Runfiles.Builder(ctx.getRuleContext().getWorkspaceName());
if (EvalUtils.toBoolean(collectData)) {
builder.addRunfiles(ctx.getRuleContext(), RunfilesProvider.DATA_RUNFILES);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
index d902395c54..e0e4c7fd23 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
@@ -506,7 +506,8 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
return builder
.setFilesToBuild(filesToBuild)
- .add(RunfilesProvider.class, RunfilesProvider.simple(new Runfiles.Builder()
+ .add(RunfilesProvider.class, RunfilesProvider.simple(
+ new Runfiles.Builder(ruleContext.getWorkspaceName())
.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES)
.addTransitiveArtifacts(filesToBuild)
.build()))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
index e5bc26c15f..c694ccef5d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
@@ -521,7 +521,7 @@ public class AndroidCommon {
ruleContext, idls, transitiveIdlImportData, translatedIdlSources);
}
- Runfiles runfiles = new Runfiles.Builder()
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES)
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
index 99ebe89310..ad50ad4131 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
@@ -97,7 +97,7 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
Iterable<Artifact> fakeLinkerInputs,
boolean fake,
ImmutableList<Pair<Artifact, Label>> cAndCppSources) {
- Runfiles.Builder builder = new Runfiles.Builder();
+ Runfiles.Builder builder = new Runfiles.Builder(context.getWorkspaceName());
Function<TransitiveInfoCollection, Runfiles> runfilesMapping =
CppRunfilesProvider.runfilesFunction(linkStaticness != LinkStaticness.DYNAMIC);
boolean linkshared = isLinkShared(context);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
index 1a6a75dfe0..cc5a02a054 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
@@ -76,7 +76,7 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
CcLinkingOutputs ccLinkingOutputs,
boolean neverLink, boolean addDynamicRuntimeInputArtifactsToRunfiles,
boolean linkingStatically) {
- Runfiles.Builder builder = new Runfiles.Builder();
+ Runfiles.Builder builder = new Runfiles.Builder(context.getWorkspaceName());
// neverlink= true creates a library that will never be linked into any binary that depends on
// it, but instead be loaded as an extension. So we need the dynamic library for this in the
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
index 790a9d7d97..204c718092 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
@@ -857,7 +857,7 @@ public final class CcLibraryHelper {
private Runfiles collectCppRunfiles(
CcLinkingOutputs ccLinkingOutputs, boolean linkingStatically) {
- Runfiles.Builder builder = new Runfiles.Builder();
+ Runfiles.Builder builder = new Runfiles.Builder(ruleContext.getWorkspaceName());
builder.addTargets(deps, RunfilesProvider.DEFAULT_RUNFILES);
builder.addTargets(deps, CppRunfilesProvider.runfilesFunction(linkingStatically));
// Add the shared libraries to the runfiles.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/filegroup/Filegroup.java b/src/main/java/com/google/devtools/build/lib/rules/filegroup/Filegroup.java
index 3e51bc61ab..83d3d7a20f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/filegroup/Filegroup.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/filegroup/Filegroup.java
@@ -57,11 +57,11 @@ public class Filegroup implements RuleConfiguredTargetFactory {
InstrumentedFilesCollector.NO_METADATA_COLLECTOR, filesToBuild);
RunfilesProvider runfilesProvider = RunfilesProvider.withData(
- new Runfiles.Builder()
+ new Runfiles.Builder(ruleContext.getWorkspaceName())
.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES)
.build(),
// If you're visiting a filegroup as data, then we also visit its data as data.
- new Runfiles.Builder().addTransitiveArtifacts(filesToBuild)
+ new Runfiles.Builder(ruleContext.getWorkspaceName()).addTransitiveArtifacts(filesToBuild)
.addDataDeps(ruleContext).build());
return new RuleConfiguredTargetBuilder(ruleContext)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
index bbc432e7a5..4920ed5c31 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
@@ -154,7 +154,8 @@ public class GenQuery implements RuleConfiguredTargetFactory {
return new RuleConfiguredTargetBuilder(ruleContext)
.setFilesToBuild(filesToBuild)
.add(RunfilesProvider.class, RunfilesProvider.simple(
- new Runfiles.Builder().addTransitiveArtifacts(filesToBuild).build()))
+ new Runfiles.Builder(ruleContext.getWorkspaceName())
+ .addTransitiveArtifacts(filesToBuild).build()))
.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
index 3c45f8a0f3..206043e5c1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
@@ -58,7 +58,7 @@ public class JavaBinary implements RuleConfiguredTargetFactory {
public ConfiguredTarget create(RuleContext ruleContext) {
final JavaCommon common = new JavaCommon(ruleContext, semantics);
DeployArchiveBuilder deployArchiveBuilder = new DeployArchiveBuilder(semantics, ruleContext);
- Runfiles.Builder runfilesBuilder = new Runfiles.Builder();
+ Runfiles.Builder runfilesBuilder = new Runfiles.Builder(ruleContext.getWorkspaceName());
List<String> jvmFlags = new ArrayList<>();
common.initializeJavacOpts();
@@ -209,7 +209,7 @@ public class JavaBinary implements RuleConfiguredTargetFactory {
RunfilesProvider runfilesProvider = RunfilesProvider.withData(
defaultRunfiles,
- new Runfiles.Builder().merge(runfilesSupport).build());
+ new Runfiles.Builder(ruleContext.getWorkspaceName()).merge(runfilesSupport).build());
ImmutableList<String> deployManifestLines =
getDeployManifestLines(ruleContext, originalMainClass);
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 77850f9a99..1291f49ae8 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
@@ -88,7 +88,7 @@ public class JavaImport implements RuleConfiguredTargetFactory {
// runfiles from this target or its dependencies.
Runfiles runfiles = neverLink ?
Runfiles.EMPTY :
- new Runfiles.Builder()
+ new Runfiles.Builder(ruleContext.getWorkspaceName())
// add the jars to the runfiles
.addArtifacts(common.getJavaCompilationArtifacts().getRuntimeJars())
.addTargets(targets, RunfilesProvider.DEFAULT_RUNFILES)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
index ab303725f1..60afde4567 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibrary.java
@@ -183,10 +183,8 @@ public class JavaLibrary implements RuleConfiguredTargetFactory {
// runfiles from this target or its dependencies.
Runfiles runfiles = Runfiles.EMPTY;
if (!neverLink) {
- Runfiles.Builder runfilesBuilder = new Runfiles.Builder().addArtifacts(
- common.getJavaCompilationArtifacts().getRuntimeJars());
-
-
+ Runfiles.Builder runfilesBuilder = new Runfiles.Builder(ruleContext.getWorkspaceName())
+ .addArtifacts(common.getJavaCompilationArtifacts().getRuntimeJars());
runfilesBuilder.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES);
runfilesBuilder.add(ruleContext, JavaRunfilesProvider.TO_RUNFILES);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
index b8210e226c..0343f34121 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java
@@ -361,7 +361,7 @@ public final class JavaLibraryHelper {
private JavaRunfilesProvider collectJavaRunfiles(
JavaCompilationArtifacts javaCompilationArtifacts) {
- Runfiles runfiles = new Runfiles.Builder()
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
// Compiled templates as well, for API.
.addArtifacts(javaCompilationArtifacts.getRuntimeJars())
.addTargets(deps, JavaRunfilesProvider.TO_RUNFILES)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java
index 4147412439..dd034b7f0c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java
@@ -38,7 +38,7 @@ public final class ExperimentalIosTest extends IosTest {
public ConfiguredTarget create(RuleContext ruleContext, ObjcCommon common,
XcodeProvider xcodeProvider, NestedSet<Artifact> filesToBuild) throws InterruptedException {
- Runfiles.Builder runfilesBuilder = new Runfiles.Builder()
+ Runfiles.Builder runfilesBuilder = new Runfiles.Builder(ruleContext.getWorkspaceName())
.addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES);
NestedSetBuilder<Artifact> filesToBuildBuilder = NestedSetBuilder.<Artifact>stableOrder()
.addTransitive(filesToBuild);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
index 05789407c4..52b6a38896 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
@@ -186,8 +186,10 @@ public class ObjcRuleClasses {
static RuleConfiguredTargetBuilder ruleConfiguredTarget(RuleContext ruleContext,
NestedSet<Artifact> filesToBuild) {
RunfilesProvider runfilesProvider = RunfilesProvider.withData(
- new Runfiles.Builder().addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES).build(),
- new Runfiles.Builder().addTransitiveArtifacts(filesToBuild).build());
+ new Runfiles.Builder(ruleContext.getWorkspaceName())
+ .addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES).build(),
+ new Runfiles.Builder(ruleContext.getWorkspaceName())
+ .addTransitiveArtifacts(filesToBuild).build());
return new RuleConfiguredTargetBuilder(ruleContext)
.setFilesToBuild(filesToBuild)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java
index d7644bc84d..67b65b2702 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java
@@ -447,7 +447,7 @@ public final class ReleaseBundlingSupport {
*/
RunfilesSupport runfilesSupport(Artifact runnerScript) {
Artifact ipaFile = ruleContext.getImplicitOutputArtifact(ReleaseBundlingSupport.IPA);
- Runfiles runfiles = new Runfiles.Builder()
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.addArtifact(ipaFile)
.addArtifact(runnerScript)
.addArtifact(attributes.iossim())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyBinary.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyBinary.java
index b732cae2ed..946cf76617 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyBinary.java
@@ -69,7 +69,8 @@ public abstract class PyBinary implements RuleConfiguredTargetFactory {
semantics.createExecutable(ruleContext, common, ccLinkParamsStore);
Runfiles commonRunfiles = collectCommonRunfiles(ruleContext, common, semantics);
- Runfiles.Builder defaultRunfilesBuilder = new Runfiles.Builder().merge(commonRunfiles);
+ Runfiles.Builder defaultRunfilesBuilder = new Runfiles.Builder(ruleContext.getWorkspaceName())
+ .merge(commonRunfiles);
semantics.collectDefaultRunfilesForBinary(ruleContext, defaultRunfilesBuilder);
Runfiles defaultRunfiles = defaultRunfilesBuilder.build();
@@ -83,7 +84,7 @@ public abstract class PyBinary implements RuleConfiguredTargetFactory {
// Only include common runfiles and middleman. Default runfiles added by semantics are
// excluded. The middleman is necessary to ensure the runfiles trees are generated for all
// dependency binaries.
- Runfiles dataRunfiles = new Runfiles.Builder()
+ Runfiles dataRunfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.merge(commonRunfiles)
.addArtifact(runfilesSupport.getRunfilesMiddleman())
.build();
@@ -104,7 +105,7 @@ public abstract class PyBinary implements RuleConfiguredTargetFactory {
private static Runfiles collectCommonRunfiles(RuleContext ruleContext, PyCommon common,
PythonSemantics semantics) {
- Runfiles.Builder builder = new Runfiles.Builder();
+ Runfiles.Builder builder = new Runfiles.Builder(ruleContext.getWorkspaceName());
builder.addArtifact(common.getExecutable());
if (common.getConvertedFiles() != null) {
builder.addSymlinks(common.getConvertedFiles());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java
index fc6cecbaa4..2904e9ffc7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyLibrary.java
@@ -68,7 +68,7 @@ public abstract class PyLibrary implements RuleConfiguredTargetFactory {
}
};
- Runfiles.Builder runfilesBuilder = new Runfiles.Builder();
+ Runfiles.Builder runfilesBuilder = new Runfiles.Builder(ruleContext.getWorkspaceName());
if (common.getConvertedFiles() != null) {
runfilesBuilder.addSymlinks(common.getConvertedFiles());
} else {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/TestSuite.java b/src/main/java/com/google/devtools/build/lib/rules/test/TestSuite.java
index 8ec556ed67..9080c9e879 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/TestSuite.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/TestSuite.java
@@ -73,7 +73,7 @@ public class TestSuite implements RuleConfiguredTargetFactory {
directTestsAndSuitesBuilder.add(dep);
}
- Runfiles runfiles = new Runfiles.Builder()
+ Runfiles runfiles = new Runfiles.Builder(ruleContext.getWorkspaceName())
.addTargets(directTestsAndSuitesBuilder, RunfilesProvider.DATA_RUNFILES)
.build();