From 695b4ba8a3d7390f1bbe2d52a224b709e978470a Mon Sep 17 00:00:00 2001 From: huybrechts Date: Thu, 22 Jan 2009 11:56:11 +0000 Subject: [PATCH] [HUDSON-2903] pass parameters in a matrix build git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@14709 71c3de6d-444a-0410-be80-ed276b4c234a --- core/src/main/java/hudson/matrix/MatrixBuild.java | 13 ++++++++++--- .../java/hudson/matrix/MatrixConfiguration.java | 9 +++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/matrix/MatrixBuild.java b/core/src/main/java/hudson/matrix/MatrixBuild.java index 0e7999079f..36ccab3da0 100644 --- a/core/src/main/java/hudson/matrix/MatrixBuild.java +++ b/core/src/main/java/hudson/matrix/MatrixBuild.java @@ -7,11 +7,10 @@ import hudson.model.Executor; import hudson.model.Fingerprint; import hudson.model.Hudson; import hudson.model.JobProperty; +import hudson.model.ParametersAction; import hudson.model.Queue; import hudson.model.Result; import hudson.tasks.Publisher; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; import java.io.File; import java.io.IOException; @@ -21,6 +20,9 @@ import java.util.Calendar; import java.util.Collection; import java.util.List; +import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerResponse; + /** * Build of {@link MatrixProject}. * @@ -145,7 +147,12 @@ public class MatrixBuild extends AbstractBuild { try { for(MatrixConfiguration c : activeConfigurations) { logger.println(Messages.MatrixBuild_Triggering(c.getDisplayName())); - c.scheduleBuild(); + ParametersAction parameters = getAction(ParametersAction.class); + if (parameters != null) { + c.scheduleBuild(parameters); + } else { + c.scheduleBuild(); + } } // this occupies an executor unnecessarily. diff --git a/core/src/main/java/hudson/matrix/MatrixConfiguration.java b/core/src/main/java/hudson/matrix/MatrixConfiguration.java index b42f8f68bc..b4856aa42a 100644 --- a/core/src/main/java/hudson/matrix/MatrixConfiguration.java +++ b/core/src/main/java/hudson/matrix/MatrixConfiguration.java @@ -10,6 +10,9 @@ import hudson.model.ItemGroup; import hudson.model.JDK; import hudson.model.Label; import hudson.model.Node; +import hudson.model.ParameterValue; +import hudson.model.ParameterizedProjectTask; +import hudson.model.ParametersAction; import hudson.model.Project; import hudson.model.SCMedItem; import hudson.scm.SCM; @@ -255,4 +258,10 @@ public class MatrixConfiguration extends Project * jobs to use longer path names. */ public static boolean useShortWorkspaceName = Boolean.getBoolean(MatrixConfiguration.class.getName()+".useShortWorkspaceName"); + + public boolean scheduleBuild(ParametersAction parameters) { + return Hudson.getInstance().getQueue().add( + new ParameterizedProjectTask(this, parameters.getParameters()), getQuietPeriod()); + } + } -- GitLab