aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
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 /src/main/java/com/google/devtools/build/lib/rules
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
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-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
19 files changed, 33 insertions, 29 deletions
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();