Updating SingleJarActionBuilder.createSourceJarAction to take NestedSet for sources rather than ImmutableList.
RELNOTES: None
PiperOrigin-RevId: 231877095
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
index 50305f1..988be2b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
@@ -315,7 +315,7 @@
SingleJarActionBuilder.createSourceJarAction(
ruleContext,
semantics,
- ImmutableList.of(),
+ NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER),
transitiveSourceJars,
ruleContext.getImplicitOutputArtifact(JavaSemantics.JAVA_BINARY_DEPLOY_SOURCE_JAR));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java
index 9d41fd9..551f9db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java
@@ -677,7 +677,7 @@
ruleContext,
ruleContext,
semantics,
- attributes.getSourceFiles(),
+ NestedSetBuilder.<Artifact>wrap(Order.STABLE_ORDER, attributes.getSourceFiles()),
resourceJars.build(),
outputJar,
javaToolchainProvider,
@@ -692,7 +692,11 @@
resourceJars.add(gensrcJar);
}
SingleJarActionBuilder.createSourceJarAction(
- ruleContext, semantics, attributes.getSourceFiles(), resourceJars.build(), outputJar);
+ ruleContext,
+ semantics,
+ NestedSetBuilder.<Artifact>wrap(Order.STABLE_ORDER, attributes.getSourceFiles()),
+ resourceJars.build(),
+ outputJar);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
index d89f5d4..b30c6c9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
@@ -277,8 +277,8 @@
actionRegistry,
actions.getActionConstructionContext(),
javaSemantics,
- ImmutableList.copyOf(sourceFiles),
- NestedSetBuilder.<Artifact>stableOrder().addAll(sourceJars).build(),
+ NestedSetBuilder.<Artifact>wrap(Order.STABLE_ORDER, sourceFiles),
+ NestedSetBuilder.<Artifact>wrap(Order.STABLE_ORDER, sourceJars),
outputSrcJar,
javaToolchainProvider,
javaRuntimeInfo);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java
index 10e7d6d..3d258ea 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java
@@ -16,7 +16,6 @@
import static java.util.Objects.requireNonNull;
import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.ActionRegistry;
import com.google.devtools.build.lib.actions.Artifact;
@@ -31,6 +30,8 @@
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine.VectorArg;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
+import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
+import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import java.util.function.Consumer;
@@ -76,7 +77,7 @@
public static void createSourceJarAction(
RuleContext ruleContext,
JavaSemantics semantics,
- ImmutableCollection<Artifact> resources,
+ NestedSet<Artifact> resources,
NestedSet<Artifact> resourceJars,
Artifact outputJar) {
createSourceJarAction(
@@ -105,7 +106,7 @@
ActionRegistry actionRegistry,
ActionConstructionContext actionConstructionContext,
JavaSemantics semantics,
- ImmutableCollection<Artifact> resources,
+ NestedSet<Artifact> resources,
NestedSet<Artifact> resourceJars,
Artifact outputJar,
JavaToolchainProvider toolchainProvider,
@@ -147,7 +148,10 @@
.addInputs(jars)
.addCommandLine(
sourceJarCommandLine(
- output, /* semantics= */ null, /* resources= */ ImmutableList.of(), jars),
+ output,
+ /* semantics= */ null,
+ /* resources= */ NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER),
+ jars),
ParamFileInfo.builder(ParameterFileType.SHELL_QUOTED).setUseAlways(true).build())
.setProgressMessage("Building singlejar jar %s", output.prettyPrint())
.setMnemonic("JavaSingleJar");
@@ -157,7 +161,7 @@
private static CommandLine sourceJarCommandLine(
Artifact outputJar,
JavaSemantics semantics,
- ImmutableCollection<Artifact> resources,
+ NestedSet<Artifact> resources,
NestedSet<Artifact> resourceJars) {
CustomCommandLine.Builder args = CustomCommandLine.builder();
args.addExecPath("--output", outputJar);