aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ArtifactOwner.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/events/Location.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/NoProcessing.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java20
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java18
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/EmptySkyValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java7
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java5
15 files changed, 28 insertions, 96 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactOwner.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactOwner.java
index 36f7b24936..b8b62c91b7 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactOwner.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactOwner.java
@@ -29,9 +29,9 @@ public interface ArtifactOwner {
* An {@link ArtifactOwner} that just returns null for its label. Only for use with resolved
* source artifacts and tests.
*/
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
class NullArtifactOwner implements ArtifactOwner {
- @VisibleForTesting public static final NullArtifactOwner INSTANCE = new NullArtifactOwner();
+ @AutoCodec @VisibleForTesting
+ public static final NullArtifactOwner INSTANCE = new NullArtifactOwner();
private NullArtifactOwner() {}
diff --git a/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java b/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java
index ddab7c995e..5cc2e52789 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java
@@ -18,15 +18,13 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.Map;
/** Empty implementation of RunfilesSupplier */
-@AutoCodec(strategy = Strategy.SINGLETON)
public class EmptyRunfilesSupplier implements RunfilesSupplier {
- public static final EmptyRunfilesSupplier INSTANCE = new EmptyRunfilesSupplier();
+ @AutoCodec public static final EmptyRunfilesSupplier INSTANCE = new EmptyRunfilesSupplier();
private EmptyRunfilesSupplier() {}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
index 933a1a8939..a1f02fa415 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
@@ -33,7 +33,6 @@ import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.BuildType;
import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
@@ -73,8 +72,6 @@ import javax.annotation.Nullable;
)
@AutoCodec
public final class Runfiles {
- public static ObjectCodec<Runfiles> CODEC = new Runfiles_AutoCodec();
-
private static final Function<SymlinkEntry, Artifact> TO_ARTIFACT =
new Function<SymlinkEntry, Artifact>() {
@Override
@@ -83,12 +80,9 @@ public final class Runfiles {
}
};
- @AutoCodec(strategy = Strategy.SINGLETON)
@VisibleForSerialization
static class DummyEmptyFilesSupplier implements EmptyFilesSupplier {
- public static final ObjectCodec<DummyEmptyFilesSupplier> CODEC =
- new Runfiles_DummyEmptyFilesSupplier_AutoCodec();
- public static final DummyEmptyFilesSupplier INSTANCE = new DummyEmptyFilesSupplier();
+ @AutoCodec public static final DummyEmptyFilesSupplier INSTANCE = new DummyEmptyFilesSupplier();
@Override
public Iterable<PathFragment> getExtraPaths(Set<PathFragment> manifestPaths) {
diff --git a/src/main/java/com/google/devtools/build/lib/events/Location.java b/src/main/java/com/google/devtools/build/lib/events/Location.java
index 162678dbf1..586548943b 100644
--- a/src/main/java/com/google/devtools/build/lib/events/Location.java
+++ b/src/main/java/com/google/devtools/build/lib/events/Location.java
@@ -15,7 +15,6 @@
package com.google.devtools.build.lib.events;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
-import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -36,9 +35,6 @@ public abstract class Location implements Serializable {
@AutoCodec
@Immutable
static final class LocationWithPathAndStartColumn extends Location {
- public static final ObjectCodec<LocationWithPathAndStartColumn> CODEC =
- new Location_LocationWithPathAndStartColumn_AutoCodec();
-
private final PathFragment path;
private final LineAndColumn startLineAndColumn;
@@ -219,14 +215,14 @@ public abstract class Location implements Serializable {
* "23:2"
* "foo.cc:char offsets 123--456"
* "char offsets 123--456"
- *</pre>
+ * </pre>
*
* <p>This version replace the package's path with the relative package path. I.e., if {@code
* packagePath} is equivalent to "/absolute/path/to/workspace/pack/age" and {@code
* relativePackage} is equivalent to "pack/age" then the result for the 2nd character of the 23rd
* line of the "foo/bar.cc" file in "pack/age" would be "pack/age/foo/bar.cc:23:2" whereas with
* {@link #print()} the result would be "/absolute/path/to/workspace/pack/age/foo/bar.cc:23:2".
- *
+ *
* <p>If {@code packagePath} is not a parent of the location path, then the result of this
* function is the same as the result of {@link #print()}.
*/
@@ -262,8 +258,6 @@ public abstract class Location implements Serializable {
@AutoCodec
@Immutable
public static final class LineAndColumn {
- public static final ObjectCodec<LineAndColumn> CODEC = new Location_LineAndColumn_AutoCodec();
-
private final int line;
private final int column;
@@ -298,11 +292,7 @@ public abstract class Location implements Serializable {
}
}
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
- @AutoCodec.VisibleForSerialization
static final class BuiltinLocation extends Location {
- public static final BuiltinLocation INSTANCE = new BuiltinLocation();
-
private BuiltinLocation() {
super(0, 0);
}
@@ -332,7 +322,7 @@ public abstract class Location implements Serializable {
* Dummy location for built-in functions which ensures that stack traces contain "nice" location
* strings.
*/
- public static final Location BUILTIN = BuiltinLocation.INSTANCE;
+ @AutoCodec public static final Location BUILTIN = new BuiltinLocation();
/**
* Returns the location in the format "filename:line".
@@ -343,7 +333,7 @@ public abstract class Location implements Serializable {
if (location == null) {
return "";
}
-
+
StringBuilder builder = new StringBuilder();
PathFragment path = location.getPath();
if (path != null) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/NoProcessing.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/NoProcessing.java
index 954214994a..f6a5bd0fed 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/NoProcessing.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/NoProcessing.java
@@ -18,17 +18,12 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.rules.cpp.IncludeScanner.IncludeScannerSupplier;
-import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy;
import javax.annotation.Nullable;
/** Always performs no include processing and returns null. */
-@AutoCodec(strategy = Strategy.SINGLETON)
public class NoProcessing implements IncludeProcessing {
- public static final ObjectCodec<NoProcessing> CODEC = new NoProcessing_AutoCodec();
-
- public static final NoProcessing INSTANCE = new NoProcessing();
+ @AutoCodec public static final NoProcessing INSTANCE = new NoProcessing();
@Override
public Iterable<Artifact> determineAdditionalInputs(
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
index 4454dbe339..24652583fb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
@@ -28,7 +28,7 @@ import com.google.devtools.build.skyframe.SkyValue;
*/
public abstract class ContainingPackageLookupValue implements SkyValue {
- public static final NoContainingPackage NONE = NoContainingPackage.INSTANCE;
+ @AutoCodec public static final NoContainingPackage NONE = new NoContainingPackage();
/** Returns whether there is a containing package. */
public abstract boolean hasContainingPackage();
@@ -50,10 +50,7 @@ public abstract class ContainingPackageLookupValue implements SkyValue {
}
/** Value indicating there is no containing package. */
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public static class NoContainingPackage extends ContainingPackageLookupValue {
- public static final NoContainingPackage INSTANCE = new NoContainingPackage();
-
private NoContainingPackage() {}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java
index edb9226a11..e7522851ba 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.actions.Actions.GeneratingActions;
-import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -26,24 +25,18 @@ import com.google.devtools.build.skyframe.SkyFunctionName;
public class CoverageReportValue extends ActionLookupValue {
// There should only ever be one CoverageReportValue value in the graph.
- public static final CoverageReportKey COVERAGE_REPORT_KEY = CoverageReportKey.INSTANCE;
+ @AutoCodec public static final CoverageReportKey COVERAGE_REPORT_KEY = new CoverageReportKey();
CoverageReportValue(GeneratingActions generatingActions, boolean removeActionsAfterEvaluation) {
super(generatingActions, removeActionsAfterEvaluation);
}
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
static class CoverageReportKey extends ActionLookupKey {
- static final CoverageReportKey INSTANCE = new CoverageReportKey();
- static final ObjectCodec<CoverageReportKey> CODEC =
- new CoverageReportValue_CoverageReportKey_AutoCodec();
-
private CoverageReportKey() {}
@Override
public SkyFunctionName functionName() {
return SkyFunctions.COVERAGE_REPORT;
}
-
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
index 0c78c40146..c76a7ad8e1 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
@@ -38,12 +38,17 @@ import com.google.devtools.build.skyframe.SkyValue;
*/
public abstract class PackageLookupValue implements SkyValue {
+ @AutoCodec
public static final NoBuildFilePackageLookupValue NO_BUILD_FILE_VALUE =
- NoBuildFilePackageLookupValue.INSTANCE;
+ new NoBuildFilePackageLookupValue();
+
+ @AutoCodec
public static final DeletedPackageLookupValue DELETED_PACKAGE_VALUE =
- DeletedPackageLookupValue.INSTANCE;
+ new DeletedPackageLookupValue();
+
+ @AutoCodec
public static final NoRepositoryPackageLookupValue NO_SUCH_REPOSITORY_VALUE =
- NoRepositoryPackageLookupValue.INSTANCE;
+ new NoRepositoryPackageLookupValue();
enum ErrorReason {
/** There is no BUILD file. */
@@ -191,10 +196,7 @@ public abstract class PackageLookupValue implements SkyValue {
}
/** Marker value for no build file found. */
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public static class NoBuildFilePackageLookupValue extends UnsuccessfulPackageLookupValue {
- static final NoBuildFilePackageLookupValue INSTANCE = new NoBuildFilePackageLookupValue();
-
private NoBuildFilePackageLookupValue() {
}
@@ -317,10 +319,7 @@ public abstract class PackageLookupValue implements SkyValue {
}
/** Marker value for a deleted package. */
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public static class DeletedPackageLookupValue extends UnsuccessfulPackageLookupValue {
- static final DeletedPackageLookupValue INSTANCE = new DeletedPackageLookupValue();
-
private DeletedPackageLookupValue() {
}
@@ -339,10 +338,7 @@ public abstract class PackageLookupValue implements SkyValue {
* Marker value for repository we could not find. This can happen when looking for a label that
* specifies a non-existent repository.
*/
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public static class NoRepositoryPackageLookupValue extends UnsuccessfulPackageLookupValue {
- static final NoRepositoryPackageLookupValue INSTANCE = new NoRepositoryPackageLookupValue();
-
private NoRepositoryPackageLookupValue() {}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
index 02030e45e9..0bbff1c424 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
-import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -53,11 +52,9 @@ public class WorkspaceStatusValue extends ActionLookupValue {
}
/** {@link SkyKey} for {@link WorkspaceStatusValue}. */
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public static class BuildInfoKey extends ActionLookupKey {
- @AutoCodec.VisibleForSerialization static final BuildInfoKey INSTANCE = new BuildInfoKey();
- public static final ObjectCodec<BuildInfoKey> CODEC =
- new WorkspaceStatusValue_BuildInfoKey_AutoCodec();
+ @AutoCodec @AutoCodec.VisibleForSerialization
+ static final BuildInfoKey INSTANCE = new BuildInfoKey();
private BuildInfoKey() {}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java
index 867dbca164..e6a687d773 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodec.java
@@ -70,12 +70,6 @@ public @interface AutoCodec {
* instance for deserialization.
*/
PUBLIC_FIELDS,
- /**
- * For use with classes that are singleton.
- *
- * <p>The serialized class must have a codec accessible, static INSTANCE field.
- */
- SINGLETON
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java
index d7c2e8a7fd..250e391adf 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec/AutoCodecProcessor.java
@@ -109,9 +109,6 @@ public class AutoCodecProcessor extends AbstractProcessor {
case PUBLIC_FIELDS:
codecClassBuilder = buildClassWithPublicFieldsStrategy(encodedType);
break;
- case SINGLETON:
- codecClassBuilder = buildClassWithSingletonStrategy(encodedType, env);
- break;
default:
throw new IllegalArgumentException("Unknown strategy: " + annotation.strategy());
}
@@ -142,6 +139,7 @@ public class AutoCodecProcessor extends AbstractProcessor {
return true;
}
+ @SuppressWarnings("MutableConstantField")
private static final Collection<Modifier> REQUIRED_SINGLETON_MODIFIERS =
ImmutableList.of(Modifier.STATIC, Modifier.FINAL);
@@ -532,20 +530,6 @@ public class AutoCodecProcessor extends AbstractProcessor {
return Optional.empty();
}
- private static TypeSpec.Builder buildClassWithSingletonStrategy(
- TypeElement encodedType, ProcessingEnvironment env) {
- TypeSpec.Builder codecClassBuilder =
- AutoCodecUtil.initializeCodecClassBuilder(encodedType, env);
- // Serialization is a no-op.
- codecClassBuilder.addMethod(
- AutoCodecUtil.initializeSerializeMethodBuilder(encodedType, env).build());
- MethodSpec.Builder deserializeMethodBuilder =
- AutoCodecUtil.initializeDeserializeMethodBuilder(encodedType, env);
- deserializeMethodBuilder.addStatement("return $T.INSTANCE", TypeName.get(encodedType.asType()));
- codecClassBuilder.addMethod(deserializeMethodBuilder.build());
- return codecClassBuilder;
- }
-
/** True when {@code type} has the same type as {@code clazz}. */
private boolean matchesType(TypeMirror type, Class<?> clazz) {
return env.getTypeUtils()
diff --git a/src/main/java/com/google/devtools/build/skyframe/EmptySkyValue.java b/src/main/java/com/google/devtools/build/skyframe/EmptySkyValue.java
index bd31c4f903..878dd67bf9 100644
--- a/src/main/java/com/google/devtools/build/skyframe/EmptySkyValue.java
+++ b/src/main/java/com/google/devtools/build/skyframe/EmptySkyValue.java
@@ -21,9 +21,8 @@ import java.io.ObjectOutputStream;
* A SkyValue with no attached data. Preferable to a specialized empty value class to minimize
* bloat.
*/
-@AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public final class EmptySkyValue implements SkyValue {
- public static final EmptySkyValue INSTANCE = new EmptySkyValue();
+ @AutoCodec public static final EmptySkyValue INSTANCE = new EmptySkyValue();
private EmptySkyValue() {}
diff --git a/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java b/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java
index 2d6de966bd..6d44fbe47c 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java
@@ -21,11 +21,10 @@ import java.io.ObjectOutputStream;
* A value that represents "error transience", i.e. anything which may have caused an unexpected
* failure. Is not equal to anything, including itself, in order to force re-evaluation.
*/
-@AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
public final class ErrorTransienceValue implements SkyValue {
public static final SkyFunctionName FUNCTION_NAME = SkyFunctionName.create("ERROR_TRANSIENCE");
public static final SkyKey KEY = LegacySkyKey.create(FUNCTION_NAME, "ERROR_TRANSIENCE");
- public static final ErrorTransienceValue INSTANCE = new ErrorTransienceValue();
+ @AutoCodec public static final ErrorTransienceValue INSTANCE = new ErrorTransienceValue();
private ErrorTransienceValue() {}
diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
index 04aa0d77ee..e3bd837086 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
@@ -65,7 +65,6 @@ import com.google.devtools.build.lib.events.Reporter;
import com.google.devtools.build.lib.exec.SingleBuildFileCache;
import com.google.devtools.build.lib.packages.AspectDescriptor;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy;
import com.google.devtools.build.lib.util.FileType;
import com.google.devtools.build.lib.util.ResourceUsage;
import com.google.devtools.build.lib.util.io.FileOutErr;
@@ -267,10 +266,8 @@ public final class ActionsTestUtil {
null,
null);
- @AutoCodec(strategy = Strategy.SINGLETON)
static class NullArtifactOwner implements ArtifactOwner {
- public static final ActionsTestUtil.NullArtifactOwner INSTANCE =
- new ActionsTestUtil.NullArtifactOwner();
+ private NullArtifactOwner() {}
@Override
public Label getLabel() {
@@ -278,7 +275,7 @@ public final class ActionsTestUtil {
}
}
- public static final ArtifactOwner NULL_ARTIFACT_OWNER = NullArtifactOwner.INSTANCE;
+ @AutoCodec public static final ArtifactOwner NULL_ARTIFACT_OWNER = new NullArtifactOwner();
/** An unchecked exception class for action conflicts. */
public static class UncheckedActionConflictException extends RuntimeException {
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index 6fc7684371..40c74d0bab 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -111,8 +111,10 @@ import org.junit.Before;
* The common code that's shared between various builder tests.
*/
public abstract class TimestampBuilderTestCase extends FoundationTestCase {
+ @AutoCodec
protected static final ActionLookupValue.ActionLookupKey ACTION_LOOKUP_KEY =
new SingletonActionLookupKey();
+
protected static final Predicate<Action> ALWAYS_EXECUTE_FILTER = Predicates.alwaysTrue();
protected static final String CYCLE_MSG = "Yarrrr, there be a cycle up in here";
@@ -501,10 +503,7 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase {
}
}
- @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
static class SingletonActionLookupKey extends ActionLookupValue.ActionLookupKey {
- public static final SingletonActionLookupKey INSTANCE = new SingletonActionLookupKey();
-
@Override
public SkyFunctionName functionName() {
return SkyFunctions.CONFIGURED_TARGET;