From bdfdbca8219ce85bddea0cb44cd9e1d2636722dc Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Mon, 11 Apr 2022 07:56:25 -0700 Subject: [PATCH] Stop builds in the order they are provided from the CLI (#6456) --- core/src/main/java/jenkins/cli/StopBuildsCommand.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/cli/StopBuildsCommand.java b/core/src/main/java/jenkins/cli/StopBuildsCommand.java index b75bc1b735..a735577145 100644 --- a/core/src/main/java/jenkins/cli/StopBuildsCommand.java +++ b/core/src/main/java/jenkins/cli/StopBuildsCommand.java @@ -31,8 +31,9 @@ import hudson.model.Item; import hudson.model.Job; import hudson.model.Run; import java.util.ArrayList; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import jenkins.model.Jenkins; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -55,7 +56,8 @@ public class StopBuildsCommand extends CLICommand { @Override protected int run() throws Exception { Jenkins jenkins = Jenkins.get(); - final HashSet names = new HashSet<>(jobNames); + // Deduplicate job names, but preserve the order specified by the user. + final Set names = new LinkedHashSet<>(jobNames); final List jobsToStop = new ArrayList<>(); for (final String jobName : names) {