diff options
author | Dmitry Lomov <dslomov@google.com> | 2016-11-18 14:02:54 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2016-11-21 19:33:03 +0000 |
commit | 51aafc123137108c2bccc80617f1dbf14310545f (patch) | |
tree | e10a20b097c202519adc76d9ab521633d183b0f8 /src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java | |
parent | 30ae806db34137c4ae7942ea5e8c58277f9f9123 (diff) |
Allow labels in the '--aspects' parameter.
--
MOS_MIGRATED_REVID=139573590
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java index 1d3b0fd44f..d4366fa6a8 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java @@ -26,9 +26,8 @@ import com.google.devtools.build.lib.packages.Aspect; import com.google.devtools.build.lib.packages.AspectClass; import com.google.devtools.build.lib.packages.AspectParameters; import com.google.devtools.build.lib.packages.Package; -import com.google.devtools.build.lib.vfs.PathFragment; +import com.google.devtools.build.lib.syntax.SkylarkImport; import com.google.devtools.build.skyframe.SkyFunctionName; - import javax.annotation.Nullable; /** @@ -223,20 +222,20 @@ public final class AspectValue extends ActionLookupValue { private final Label targetLabel; private final BuildConfiguration aspectConfiguration; private final BuildConfiguration targetConfiguration; - private final PathFragment extensionFile; + private final SkylarkImport skylarkImport; private final String skylarkValueName; private SkylarkAspectLoadingKey( Label targetLabel, BuildConfiguration aspectConfiguration, BuildConfiguration targetConfiguration, - PathFragment extensionFile, + SkylarkImport skylarkImport, String skylarkFunctionName) { this.targetLabel = targetLabel; this.aspectConfiguration = aspectConfiguration; this.targetConfiguration = targetConfiguration; - this.extensionFile = extensionFile; + this.skylarkImport = skylarkImport; this.skylarkValueName = skylarkFunctionName; } @@ -245,16 +244,16 @@ public final class AspectValue extends ActionLookupValue { return SkyFunctions.LOAD_SKYLARK_ASPECT; } - public PathFragment getExtensionFile() { - return extensionFile; + public Label getTargetLabel() { + return targetLabel; } public String getSkylarkValueName() { return skylarkValueName; } - public Label getTargetLabel() { - return targetLabel; + public SkylarkImport getSkylarkImport() { + return skylarkImport; } /** @@ -274,7 +273,35 @@ public final class AspectValue extends ActionLookupValue { @Override public String getDescription() { // Skylark aspects are referred to on command line with <file>%<value ame> - return String.format("%s%%%s of %s", extensionFile.toString(), skylarkValueName, targetLabel); + return String.format("%s%%%s of %s", skylarkImport.getImportString(), + skylarkValueName, targetLabel); + } + + @Override + public int hashCode() { + return Objects.hashCode(targetLabel, + aspectConfiguration, + targetConfiguration, + skylarkImport, + skylarkValueName); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + + if (!(o instanceof SkylarkAspectLoadingKey)) { + return false; + } + SkylarkAspectLoadingKey that = (SkylarkAspectLoadingKey) o; + return Objects.equal(targetLabel, that.targetLabel) + && Objects.equal(aspectConfiguration, that.aspectConfiguration) + && Objects.equal(targetConfiguration, that.targetConfiguration) + && Objects.equal(skylarkImport, that.skylarkImport) + && Objects.equal(skylarkValueName, that.skylarkValueName); + } } @@ -350,9 +377,9 @@ public final class AspectValue extends ActionLookupValue { Label targetLabel, BuildConfiguration aspectConfiguration, BuildConfiguration targetConfiguration, - PathFragment skylarkFile, + SkylarkImport skylarkImport, String skylarkExportName) { return new SkylarkAspectLoadingKey( - targetLabel, aspectConfiguration, targetConfiguration, skylarkFile, skylarkExportName); + targetLabel, aspectConfiguration, targetConfiguration, skylarkImport, skylarkExportName); } } |