aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-01-19 22:29:42 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-19 22:31:37 -0800
commit192c8904999a3e4407999a12c85fc4e9114b5e97 (patch)
tree919af92bc875169391c9c843f9b4cbfdeef0b0db
parentc193fc40c2f6f11e30d18cb6191b17810aeda9c5 (diff)
Start serializing ArtifactOwner: put in a simple codec for the null artifact owner and fix up BuildConfigurationValue.Key. ConfiguredTargetKey is going to need some modifications to AutoCodec: probably the long-awaited static "create" method.
PiperOrigin-RevId: 182630181
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ActionRegistry.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/Artifact.java15
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ArtifactOwner.java40
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/BUILD2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java52
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java18
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java34
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java2
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);
}