aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java
diff options
context:
space:
mode:
authorGravatar Benjamin Peterson <bp@benjamin.pe>2018-03-15 02:12:11 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-15 02:14:20 -0700
commita7504684ef13bdd1daba93f25595e06f8e86c3fd (patch)
tree80af59fec41d7eb78d84819c37672d2aa0e83dd2 /src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java
parentdbf779869751cc893ba240402d352c6e70be2978 (diff)
Simplify ClientEnvironmentValue invalidation.
Unconditionally inject the new values, and let skyframe change pruning avoid over-invalidation. Change-Id: I3f478ea756121bde1078e9e79ddcfbeb54951cbb PiperOrigin-RevId: 189156698
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java
index bb005339fd..4357e2344c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ClientEnvironmentValue.java
@@ -15,9 +15,13 @@
package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.skyframe.SkyValue;
+import java.util.Objects;
import javax.annotation.Nullable;
-/** An aspect in the context of the Skyframe graph. */
+/**
+ * The value of an environmental variable from the client environment. These are invalidated and
+ * injected by {@link SequencedSkyframeExecutor}.
+ */
public final class ClientEnvironmentValue implements SkyValue {
private final String value;
@@ -30,4 +34,15 @@ public final class ClientEnvironmentValue implements SkyValue {
public String getValue() {
return value;
}
+
+ @Override
+ public boolean equals(Object o) {
+ return (o instanceof ClientEnvironmentValue)
+ && Objects.equals(((ClientEnvironmentValue) o).value, value);
+ }
+
+ @Override
+ public int hashCode() {
+ return (value != null) ? value.hashCode() : 0;
+ }
}