diff options
author | 2016-07-18 14:37:08 +0000 | |
---|---|---|
committer | 2016-07-18 18:09:01 +0000 | |
commit | e64bfcee6ded1abba01b5e356d7507035c8c8261 (patch) | |
tree | 513070eb1fb0cece17920f0e17d3e158cc44cc6a /src | |
parent | 001aade5123e4c039cd6e01d83f7207461d52b9d (diff) |
Don't store workspace name on rule
Instead have callers get it via package.
--
MOS_MIGRATED_REVID=127715494
Diffstat (limited to 'src')
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(); } |