diff options
17 files changed, 126 insertions, 73 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionRegistry.java b/src/main/java/com/google/devtools/build/lib/actions/ActionRegistry.java index de85ce9f80..df064e8fb1 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionRegistry.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionRegistry.java @@ -14,8 +14,6 @@ package com.google.devtools.build.lib.actions; -import com.google.common.annotations.VisibleForTesting; - /** * An interface for registering actions. */ @@ -30,18 +28,4 @@ public interface ActionRegistry { * these actions. */ ArtifactOwner getOwner(); - - /** - * An action registry that does exactly nothing. - */ - @VisibleForTesting - public static final ActionRegistry NOP = new ActionRegistry() { - @Override - public void registerAction(ActionAnalysisMetadata... actions) {} - - @Override - public ArtifactOwner getOwner() { - return ArtifactOwner.NULL_OWNER; - } - }; } diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java index eb9165a55c..e371ec1670 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java +++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java @@ -238,7 +238,7 @@ public class Artifact */ @VisibleForTesting public Artifact(Path path, ArtifactRoot root, PathFragment execPath) { - this(path, root, execPath, ArtifactOwner.NULL_OWNER); + this(path, root, execPath, ArtifactOwner.NullArtifactOwner.INSTANCE); } /** @@ -251,7 +251,7 @@ public class Artifact path, root, root.getExecPath().getRelative(root.getRoot().relativize(path)), - ArtifactOwner.NULL_OWNER); + ArtifactOwner.NullArtifactOwner.INSTANCE); } /** Constructs a source or derived Artifact for the specified root-relative path and root. */ @@ -261,7 +261,7 @@ public class Artifact root.getRoot().getRelative(rootRelativePath), root, root.getExecPath().getRelative(rootRelativePath), - ArtifactOwner.NULL_OWNER); + ArtifactOwner.NullArtifactOwner.INSTANCE); } public final Path getPath() { @@ -337,10 +337,11 @@ public class Artifact /** * Gets the {@code ActionLookupKey} of the {@code ConfiguredTarget} that owns this artifact, if it - * was set. Otherwise, this should be a dummy value -- either {@link ArtifactOwner#NULL_OWNER} or - * a dummy owner set in tests. Such a dummy value should only occur for source artifacts if - * created without specifying the owner, or for special derived artifacts, such as target - * completion middleman artifacts, build info artifacts, and the like. + * was set. Otherwise, this should be a dummy value -- either {@link + * ArtifactOwner.NullArtifactOwner#INSTANCE} or a dummy owner set in tests. Such a dummy value + * should only occur for source artifacts if created without specifying the owner, or for special + * derived artifacts, such as target completion middleman artifacts, build info artifacts, and the + * like. */ public final ArtifactOwner getArtifactOwner() { return owner; diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java index 7382944cc3..7a0f88b7b4 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java @@ -155,7 +155,7 @@ public class ArtifactFactory implements ArtifactResolver { @Override public Artifact getSourceArtifact(PathFragment execPath, ArtifactRoot root) { - return getSourceArtifact(execPath, root, ArtifactOwner.NULL_OWNER); + return getSourceArtifact(execPath, root, ArtifactOwner.NullArtifactOwner.INSTANCE); } private void validatePath(PathFragment rootRelativePath, ArtifactRoot root) { @@ -424,7 +424,7 @@ public class ArtifactFactory implements ArtifactResolver { sourceArtifactCache.markEntryAsValid(execPath); } else { // Must be a new artifact or artifact in the cache is stale, so create a new one. - artifact = getSourceArtifact(execPath, sourceRoot, ArtifactOwner.NULL_OWNER); + artifact = getSourceArtifact(execPath, sourceRoot, ArtifactOwner.NullArtifactOwner.INSTANCE); } return artifact; } 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 597893f6b5..02904d45bc 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 @@ -15,26 +15,40 @@ package com.google.devtools.build.lib.actions; import com.google.common.annotations.VisibleForTesting; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec; +import com.google.devtools.build.lib.skyframe.serialization.SingletonCodec; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; /** * An interface for {@code ActionLookupKey}, or at least for a {@link Label}. Only tests and * internal {@link Artifact}-generators should implement this interface -- otherwise, {@code * ActionLookupKey} and its subclasses should be the only implementation. */ +@AutoCodec(strategy = AutoCodec.Strategy.POLYMORPHIC) public interface ArtifactOwner { + ObjectCodec<ArtifactOwner> CODEC = new ArtifactOwner_AutoCodec(); + Label getLabel(); - @VisibleForTesting - ArtifactOwner NULL_OWNER = - new ArtifactOwner() { - @Override - public Label getLabel() { - return null; - } - - @Override - public String toString() { - return "NULL_OWNER"; - } - }; + /** + * An {@link ArtifactOwner} that just returns null for its label. Only for use with resolved + * source artifacts and tests. + */ + class NullArtifactOwner implements ArtifactOwner { + @VisibleForTesting public static final NullArtifactOwner INSTANCE = new NullArtifactOwner(); + + static final ObjectCodec<NullArtifactOwner> CODEC = SingletonCodec.of(INSTANCE, "NULL_OWNER"); + + private NullArtifactOwner() {} + + @Override + public Label getLabel() { + return null; + } + + @Override + public String toString() { + return "NULL_OWNER"; + } + } } diff --git a/src/main/java/com/google/devtools/build/lib/actions/BUILD b/src/main/java/com/google/devtools/build/lib/actions/BUILD index 608ea70b8d..2c3f3abb0e 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/BUILD +++ b/src/main/java/com/google/devtools/build/lib/actions/BUILD @@ -33,6 +33,8 @@ java_library( "//src/main/java/com/google/devtools/build/lib/concurrent", "//src/main/java/com/google/devtools/build/lib/profiler", "//src/main/java/com/google/devtools/build/lib/shell", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java index 46e616c17f..c42539aace 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java @@ -22,11 +22,17 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe; import com.google.devtools.build.lib.skyframe.serialization.InjectingObjectCodec; +import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec; +import com.google.devtools.build.lib.skyframe.serialization.SerializationException; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; +import com.google.devtools.build.lib.skyframe.serialization.strings.StringCodecs; import com.google.devtools.build.lib.vfs.FileSystemProvider; import com.google.devtools.build.skyframe.SkyFunctionName; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; +import com.google.protobuf.CodedInputStream; +import com.google.protobuf.CodedOutputStream; +import java.io.IOException; import java.io.Serializable; import java.util.Objects; import java.util.Set; @@ -59,8 +65,8 @@ public class BuildConfigurationValue implements SkyValue { * @param buildOptions the build options the fragments should be built from */ @ThreadSafe - public static SkyKey key(Set<Class<? extends BuildConfiguration.Fragment>> fragments, - BuildOptions buildOptions) { + public static Key key( + Set<Class<? extends BuildConfiguration.Fragment>> fragments, BuildOptions buildOptions) { return keyInterner.intern( new Key( ImmutableSortedSet.copyOf(BuildConfiguration.lexicalFragmentSorter, fragments), @@ -68,12 +74,15 @@ public class BuildConfigurationValue implements SkyValue { } static final class Key implements SkyKey, Serializable { + static final ObjectCodec<Key> CODEC = new Codec(); + private final ImmutableSortedSet<Class<? extends BuildConfiguration.Fragment>> fragments; private final BuildOptions buildOptions; // If hashCode really is -1, we'll recompute it from scratch each time. Oh well. private volatile int hashCode = -1; - Key(ImmutableSortedSet<Class<? extends Fragment>> fragments, BuildOptions buildOptions) { + private Key( + ImmutableSortedSet<Class<? extends Fragment>> fragments, BuildOptions buildOptions) { this.fragments = fragments; this.buildOptions = Preconditions.checkNotNull(buildOptions); } @@ -111,5 +120,42 @@ public class BuildConfigurationValue implements SkyValue { } return hashCode; } + + private static class Codec implements ObjectCodec<Key> { + @Override + public Class<Key> getEncodedClass() { + return Key.class; + } + + @Override + public void serialize(Key obj, CodedOutputStream codedOut) + throws SerializationException, IOException { + BuildOptions.CODEC.serialize(obj.buildOptions, codedOut); + codedOut.writeInt32NoTag(obj.fragments.size()); + for (Class<? extends BuildConfiguration.Fragment> fragment : obj.fragments) { + StringCodecs.asciiOptimized().serialize(fragment.getName(), codedOut); + } + } + + @Override + @SuppressWarnings("unchecked") // Class<? extends...> cast + public Key deserialize(CodedInputStream codedIn) throws SerializationException, IOException { + BuildOptions buildOptions = BuildOptions.CODEC.deserialize(codedIn); + int fragmentsSize = codedIn.readInt32(); + ImmutableSortedSet.Builder<Class<? extends BuildConfiguration.Fragment>> fragmentsBuilder = + ImmutableSortedSet.orderedBy(BuildConfiguration.lexicalFragmentSorter); + for (int i = 0; i < fragmentsSize; i++) { + try { + fragmentsBuilder.add( + (Class<? extends BuildConfiguration.Fragment>) + Class.forName(StringCodecs.asciiOptimized().deserialize(codedIn))); + } catch (ClassNotFoundException e) { + throw new SerializationException( + "Couldn't deserialize BuildConfigurationValue$Key fragment class", e); + } + } + return key(fragmentsBuilder.build(), buildOptions); + } + } } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java index b69193fca1..8e8baa5226 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java @@ -23,7 +23,6 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.skyframe.SkyFunctionName; -import com.google.devtools.build.skyframe.SkyKey; import java.util.Objects; import javax.annotation.Nullable; @@ -33,11 +32,11 @@ import javax.annotation.Nullable; */ public class ConfiguredTargetKey extends ActionLookupKey { private final Label label; - @Nullable private final SkyKey configurationKey; + @Nullable private final BuildConfigurationValue.Key configurationKey; private transient int hashCode; - private ConfiguredTargetKey(Label label, @Nullable SkyKey configurationKey) { + private ConfiguredTargetKey(Label label, @Nullable BuildConfigurationValue.Key configurationKey) { this.label = Preconditions.checkNotNull(label); this.configurationKey = configurationKey; } @@ -58,11 +57,11 @@ public class ConfiguredTargetKey extends ActionLookupKey { BlazeInterners.newWeakInterner(); public static ConfiguredTargetKey of(Label label, @Nullable BuildConfiguration configuration) { - SkyKey configurationKey = + BuildConfigurationValue.Key configurationKey = configuration == null ? null : BuildConfigurationValue.key( - configuration.fragmentClasses(), configuration.getOptions()); + configuration.fragmentClasses(), configuration.getOptions()); return of( label, configurationKey, @@ -70,7 +69,9 @@ public class ConfiguredTargetKey extends ActionLookupKey { } static ConfiguredTargetKey of( - Label label, @Nullable SkyKey configurationKey, boolean isHostConfiguration) { + Label label, + @Nullable BuildConfigurationValue.Key configurationKey, + boolean isHostConfiguration) { if (isHostConfiguration) { return hostInterner.intern(new HostConfiguredTargetKey(label, configurationKey)); } else { @@ -89,7 +90,7 @@ public class ConfiguredTargetKey extends ActionLookupKey { } @Nullable - SkyKey getConfigurationKey() { + BuildConfigurationValue.Key getConfigurationKey() { return configurationKey; } @@ -163,7 +164,8 @@ public class ConfiguredTargetKey extends ActionLookupKey { } private static class HostConfiguredTargetKey extends ConfiguredTargetKey { - private HostConfiguredTargetKey(Label label, @Nullable SkyKey configurationKey) { + private HostConfiguredTargetKey( + Label label, @Nullable BuildConfigurationValue.Key configurationKey) { super(label, configurationKey); } diff --git a/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java b/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java index 911f690588..cf15941d9b 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java +++ b/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java @@ -924,7 +924,7 @@ public class CustomCommandLineTest { rootDir.getRoot().getRelative(relpath), rootDir, rootDir.getExecPath().getRelative(relpath), - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java index eca896acd1..5f85b94faa 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java @@ -114,7 +114,7 @@ public class ParamFileWriteActionTest extends BuildViewTestCase { rootDir.getRoot().getRelative(relpath), rootDir, rootDir.getExecPath().getRelative(relpath), - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java index 94ac8a8cf3..a22868beee 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java @@ -349,7 +349,7 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase { root.getRoot().getRelative(relpath), root, root.getExecPath().getRelative(relpath), - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java index 5bfb86f2e2..3001b3b66f 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java @@ -147,9 +147,10 @@ public class SpawnActionTemplateTest { Iterable<TreeFileArtifact> inputTreeFileArtifacts = createInputTreeFileArtifacts(inputTreeArtifact); - List<SpawnAction> expandedActions = ImmutableList.copyOf( - actionTemplate.generateActionForInputArtifacts( - inputTreeFileArtifacts, ArtifactOwner.NULL_OWNER)); + List<SpawnAction> expandedActions = + ImmutableList.copyOf( + actionTemplate.generateActionForInputArtifacts( + inputTreeFileArtifacts, ArtifactOwner.NullArtifactOwner.INSTANCE)); assertThat(expandedActions).hasSize(3); @@ -185,9 +186,10 @@ public class SpawnActionTemplateTest { Iterable<TreeFileArtifact> inputTreeFileArtifacts = createInputTreeFileArtifacts(inputTreeArtifact); - List<SpawnAction> expandedActions = ImmutableList.copyOf( - actionTemplate.generateActionForInputArtifacts( - inputTreeFileArtifacts, ArtifactOwner.NULL_OWNER)); + List<SpawnAction> expandedActions = + ImmutableList.copyOf( + actionTemplate.generateActionForInputArtifacts( + inputTreeFileArtifacts, ArtifactOwner.NullArtifactOwner.INSTANCE)); for (int i = 0; i < expandedActions.size(); ++i) { assertThat(expandedActions.get(i).getInputs()).containsAllOf( @@ -205,9 +207,10 @@ public class SpawnActionTemplateTest { Iterable<TreeFileArtifact> inputTreeFileArtifacts = createInputTreeFileArtifacts(inputTreeArtifact); - List<SpawnAction> expandedActions = ImmutableList.copyOf( - actionTemplate.generateActionForInputArtifacts( - inputTreeFileArtifacts, ArtifactOwner.NULL_OWNER)); + List<SpawnAction> expandedActions = + ImmutableList.copyOf( + actionTemplate.generateActionForInputArtifacts( + inputTreeFileArtifacts, ArtifactOwner.NullArtifactOwner.INSTANCE)); assertThat(expandedActions).hasSize(3); @@ -229,9 +232,10 @@ public class SpawnActionTemplateTest { Iterable<TreeFileArtifact> inputTreeFileArtifacts = createInputTreeFileArtifacts(inputTreeArtifact); - List<SpawnAction> expandedActions = ImmutableList.copyOf( - actionTemplate.generateActionForInputArtifacts( - inputTreeFileArtifacts, ArtifactOwner.NULL_OWNER)); + List<SpawnAction> expandedActions = + ImmutableList.copyOf( + actionTemplate.generateActionForInputArtifacts( + inputTreeFileArtifacts, ArtifactOwner.NullArtifactOwner.INSTANCE)); assertThat(expandedActions).hasSize(3); @@ -265,7 +269,7 @@ public class SpawnActionTemplateTest { try { actionTemplate.generateActionForInputArtifacts( - inputTreeFileArtifacts, ArtifactOwner.NULL_OWNER); + inputTreeFileArtifacts, ArtifactOwner.NullArtifactOwner.INSTANCE); fail("Absolute output paths not allowed, expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected @@ -283,7 +287,7 @@ public class SpawnActionTemplateTest { try { actionTemplate.generateActionForInputArtifacts( - inputTreeFileArtifacts, ArtifactOwner.NULL_OWNER); + inputTreeFileArtifacts, ArtifactOwner.NullArtifactOwner.INSTANCE); fail("Output paths containing '..' not allowed, expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected @@ -324,7 +328,7 @@ public class SpawnActionTemplateTest { root.getRoot().getRelative(relpath), root, root.getExecPath().getRelative(relpath), - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java index eb91237e0f..2f7ad5b7c3 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java @@ -393,7 +393,7 @@ public final class AnalysisTestUtil { @Override public ArtifactOwner getOwner() { - return ArtifactOwner.NULL_OWNER; + return ArtifactOwner.NullArtifactOwner.INSTANCE; } @Override diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index d7d194c1fa..4141e584ac 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -503,7 +503,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase { return new CachingAnalysisEnvironment( view.getArtifactFactory(), actionKeyContext, - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, /*isSystemEnv=*/ true, /*extendedSanityChecks*/ false, reporter, diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java index 3819117c7c..36c2daa8ae 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java @@ -677,7 +677,7 @@ public class CppLinkActionTest extends BuildViewTestCase { path, ArtifactRoot.asDerivedRoot(execRoot, execRoot.getRelative("out")), execPath, - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java index 58703e5d9e..e3937d4efd 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java @@ -902,7 +902,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { return ImmutableList.<CommandAction>builder() .addAll( template.generateActionForInputArtifacts( - ImmutableList.of(treeFileArtifact), ArtifactOwner.NULL_OWNER)) + ImmutableList.of(treeFileArtifact), ArtifactOwner.NullArtifactOwner.INSTANCE)) .build(); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java index 9b2e73d3a8..b6a834ef55 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java @@ -212,7 +212,7 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas fullPath, ArtifactRoot.asDerivedRoot(rootDirectory, rootDirectory.getRelative("out")), execPath, - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java index 8b421f65f0..d33c259caa 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java @@ -623,7 +623,7 @@ public class FilesystemValueCheckerTest { outputPath, derivedRoot, derivedRoot.getExecPath().getRelative(derivedRoot.getRoot().relativize(outputPath)), - ArtifactOwner.NULL_OWNER, + ArtifactOwner.NullArtifactOwner.INSTANCE, SpecialArtifactType.TREE); } |