From 9d513cab93f03856c5e7ccdd38dbf864f7c5be00 Mon Sep 17 00:00:00 2001 From: Kristina Chodorow Date: Wed, 12 Aug 2015 15:48:30 +0000 Subject: 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 --- .../devtools/build/lib/analysis/Runfiles.java | 28 ++++++++++------------ .../build/lib/analysis/RunfilesSupport.java | 2 +- .../build/lib/bazel/rules/genrule/GenRule.java | 3 ++- .../build/lib/bazel/rules/objc/BazelIosTest.java | 3 ++- .../build/lib/bazel/rules/sh/ShBinary.java | 2 +- .../build/lib/bazel/rules/sh/ShLibrary.java | 2 +- .../rules/SkylarkRuleConfiguredTargetBuilder.java | 7 +++--- .../rules/SkylarkRuleImplementationFunctions.java | 2 +- .../build/lib/rules/android/AndroidBinary.java | 3 ++- .../build/lib/rules/android/AndroidCommon.java | 2 +- .../devtools/build/lib/rules/cpp/CcBinary.java | 2 +- .../devtools/build/lib/rules/cpp/CcLibrary.java | 2 +- .../build/lib/rules/cpp/CcLibraryHelper.java | 2 +- .../build/lib/rules/filegroup/Filegroup.java | 4 ++-- .../build/lib/rules/genquery/GenQuery.java | 3 ++- .../devtools/build/lib/rules/java/JavaBinary.java | 4 ++-- .../devtools/build/lib/rules/java/JavaImport.java | 2 +- .../devtools/build/lib/rules/java/JavaLibrary.java | 6 ++--- .../build/lib/rules/java/JavaLibraryHelper.java | 2 +- .../build/lib/rules/objc/ExperimentalIosTest.java | 2 +- .../build/lib/rules/objc/ObjcRuleClasses.java | 6 +++-- .../lib/rules/objc/ReleaseBundlingSupport.java | 2 +- .../devtools/build/lib/rules/python/PyBinary.java | 7 +++--- .../devtools/build/lib/rules/python/PyLibrary.java | 2 +- .../devtools/build/lib/rules/test/TestSuite.java | 2 +- 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 rootSymlinks, NestedSet 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); @@ -502,6 +502,17 @@ public final class Runfiles { NestedSetBuilder.stableOrder(); 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. */ @@ -645,7 +656,6 @@ public final class Runfiles { Function 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 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 mapping) { - suffix = ruleContext.getWorkspaceName(); for (TransitiveInfoCollection target : getNonDataDeps(ruleContext)) { addTargetExceptFileTargets(target, mapping); } @@ -756,15 +763,6 @@ public final class Runfiles { return merge(runfiles, false); } - /** - * Sets the directory name to put runfiles under. "" is the default and puts the runfiles - * immediately under the <target>.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.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 fakeLinkerInputs, boolean fake, ImmutableList> cAndCppSources) { - Runfiles.Builder builder = new Runfiles.Builder(); + Runfiles.Builder builder = new Runfiles.Builder(context.getWorkspaceName()); Function 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 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 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 filesToBuild) throws InterruptedException { - Runfiles.Builder runfilesBuilder = new Runfiles.Builder() + Runfiles.Builder runfilesBuilder = new Runfiles.Builder(ruleContext.getWorkspaceName()) .addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES); NestedSetBuilder filesToBuildBuilder = NestedSetBuilder.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 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(); -- cgit v1.2.3