aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Michajlo Matijkiw <michajlo@google.com>2016-07-18 14:37:08 +0000
committerGravatar John Cater <jcater@google.com>2016-07-18 18:09:01 +0000
commite64bfcee6ded1abba01b5e356d7507035c8c8261 (patch)
tree513070eb1fb0cece17920f0e17d3e158cc44cc6a /src
parent001aade5123e4c039cd6e01d83f7207461d52b9d (diff)
Don't store workspace name on rule
Instead have callers get it via package. -- MOS_MIGRATED_REVID=127715494
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Rule.java13
-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/python/PyCommon.java4
4 files changed, 11 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index d8288b9887..f4aeb47918 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -78,7 +78,6 @@ import com.google.devtools.build.lib.util.FileTypeSet;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.PathFragment;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -86,7 +85,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import javax.annotation.Nullable;
/**
@@ -156,7 +154,7 @@ public final class RuleContext extends TargetContext
private final ErrorReporter reporter;
private final ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>>
skylarkProviderRegistry;
-
+
private ActionOwner actionOwner;
/* lazily computed cache for Make variables, computed from the above. See get... method */
@@ -243,7 +241,7 @@ public final class RuleContext extends TargetContext
* Returns the workspace name for the rule.
*/
public String getWorkspaceName() {
- return rule.getWorkspaceName();
+ return rule.getPackage().getWorkspaceName();
}
/**
@@ -254,7 +252,7 @@ public final class RuleContext extends TargetContext
}
/**
- * Returns the host configuration for this rule.
+ * Returns the host configuration for this rule.
*/
public BuildConfiguration getHostConfiguration() {
return hostConfiguration;
@@ -282,7 +280,7 @@ public final class RuleContext extends TargetContext
getSkylarkProviderRegistry() {
return skylarkProviderRegistry;
}
-
+
/**
* Returns whether this instance is known to have errors at this point during analysis. Do not
* call this method after the initializationHook has returned.
@@ -290,7 +288,7 @@ public final class RuleContext extends TargetContext
public boolean hasErrors() {
return getAnalysisEnvironment().hasErrors();
}
-
+
/**
* No-op if {@link #hasErrors} is false, throws {@link RuleErrorException} if it is true.
* This provides a convenience to early-exit of configured target creation if there are errors.
@@ -417,7 +415,7 @@ public final class RuleContext extends TargetContext
public void ruleError(String message) {
reporter.ruleError(message);
}
-
+
/**
* Convenience function to report non-attribute-specific errors in the current rule and then
* throw a {@link RuleErrorException}, immediately exiting the build invocation. Alternatively,
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Rule.java b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
index e2cf7bf700..cd813c31f5 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Rule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
@@ -37,7 +37,6 @@ import com.google.devtools.build.lib.syntax.GlobList;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.BinaryPredicate;
import com.google.devtools.build.lib.util.Preconditions;
-
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.List;
@@ -79,8 +78,6 @@ public final class Rule implements Target, DependencyFilter.AttributeInfoProvide
private final Location location;
- private final String workspaceName;
-
// Initialized in the call to populateOutputFiles.
private List<OutputFile> outputFiles;
private ListMultimap<String, OutputFile> outputFileMap;
@@ -94,7 +91,6 @@ public final class Rule implements Target, DependencyFilter.AttributeInfoProvide
this.attributes = attributeContainer;
this.attributeMap = new RawAttributeMapper(pkg, ruleClass, label, attributes);
this.containsErrors = false;
- this.workspaceName = pkg.getWorkspaceName();
}
void setVisibility(RuleVisibility visibility) {
@@ -117,13 +113,6 @@ public final class Rule implements Target, DependencyFilter.AttributeInfoProvide
this.containsErrors = true;
}
- /**
- * Returns the name of the workspace that this rule is in.
- */
- public String getWorkspaceName() {
- return workspaceName;
- }
-
@Override
public Label getLabel() {
return label;
@@ -325,7 +314,7 @@ public final class Rule implements Target, DependencyFilter.AttributeInfoProvide
* Returns the location of the attribute definition for this rule, if known;
* or the location of the whole rule otherwise. "attrName" need not be a
* valid attribute name for this rule.
- *
+ *
* <p>This method ignores whether the present rule was created by a macro or not.
*/
public Location getAttributeLocationWithoutMacro(String attrName) {
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 3b3060e843..0b9ac8c052 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
@@ -37,7 +37,6 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.packages.BuildType;
-import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration;
import com.google.devtools.build.lib.rules.cpp.CppHelper;
@@ -165,7 +164,8 @@ public class JavaBinary implements RuleConfiguredTargetFactory {
List<Artifact> nativeLibraries = attributes.getNativeLibraries();
if (!nativeLibraries.isEmpty()) {
jvmFlags.add("-Djava.library.path="
- + JavaCommon.javaLibraryPath(nativeLibraries, ruleContext.getRule().getWorkspaceName()));
+ + JavaCommon.javaLibraryPath(nativeLibraries,
+ ruleContext.getRule().getPackage().getWorkspaceName()));
}
JavaConfiguration javaConfig = ruleContext.getFragment(JavaConfiguration.class);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
index ae43116519..2c334431e8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
@@ -57,7 +57,6 @@ import com.google.devtools.build.lib.util.FileType;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.protobuf.GeneratedMessage.GeneratedExtension;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -436,7 +435,8 @@ public final class PyCommon {
return null;
}
- PathFragment workspaceName = new PathFragment(ruleContext.getRule().getWorkspaceName());
+ PathFragment workspaceName = new PathFragment(
+ ruleContext.getRule().getPackage().getWorkspaceName());
return workspaceName.getRelative(mainArtifact.getRunfilesPath()).getPathString();
}