aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-11-18 14:02:54 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-11-21 19:33:03 +0000
commit51aafc123137108c2bccc80617f1dbf14310545f (patch)
treee10a20b097c202519adc76d9ab521633d183b0f8 /src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
parent30ae806db34137c4ae7942ea5e8c58277f9f9123 (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.java51
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);
}
}