From c86aa67953ca0d7d5e8a0ede276a659cdbe8ba6b Mon Sep 17 00:00:00 2001 From: Kohsuke Kawaguchi Date: Fri, 18 May 2012 16:33:21 -0500 Subject: [PATCH] Enabled concurrent build support for matrix projects --- changelog.html | 2 + .../hudson/matrix/MatrixConfiguration.java | 10 +++++ .../java/hudson/model/AbstractProject.java | 2 +- core/src/main/java/jenkins/model/Jenkins.java | 5 +++ .../MatrixProject/configure-entries.jelly | 1 + .../model/AbstractItem/configure-common.jelly | 4 +- .../AbstractItem/configure-common.properties | 1 - .../configure-common_da.properties | 1 - .../configure-common_de.properties | 1 - .../configure-common_es.properties | 1 - .../configure-common_fr.properties | 1 - .../configure-common_it.properties | 1 - .../configure-common_ja.properties | 1 - .../configure-common_pt_BR.properties | 2 - .../configure-common_zh_CN.properties | 1 - .../project/config-concurrentBuild.jelly | 31 ++++++++++++++ .../project/config-concurrentBuild.properties | 23 +++++++++++ .../config-concurrentBuild_da.properties | 23 +++++++++++ .../config-concurrentBuild_de.properties | 23 +++++++++++ .../config-concurrentBuild_es.properties | 23 +++++++++++ .../config-concurrentBuild_fr.properties | 23 +++++++++++ .../config-concurrentBuild_it.properties | 23 +++++++++++ .../config-concurrentBuild_pt_BR.properties | 23 +++++++++++ .../config-concurrentBuild_zh_CN.properties | 23 +++++++++++ pom.xml | 2 +- .../hudson/matrix/MatrixProjectTest.groovy | 40 +++++++++++++++++++ 26 files changed, 276 insertions(+), 15 deletions(-) create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild.jelly create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_da.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_de.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_es.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_fr.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_it.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_pt_BR.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-concurrentBuild_zh_CN.properties diff --git a/changelog.html b/changelog.html index 59cbd3d0ed..25dc0661c9 100644 --- a/changelog.html +++ b/changelog.html @@ -57,6 +57,8 @@ Upcoming changes diff --git a/core/src/main/java/hudson/matrix/MatrixConfiguration.java b/core/src/main/java/hudson/matrix/MatrixConfiguration.java index 14d7d8af29..9d657071a4 100644 --- a/core/src/main/java/hudson/matrix/MatrixConfiguration.java +++ b/core/src/main/java/hudson/matrix/MatrixConfiguration.java @@ -78,6 +78,16 @@ public class MatrixConfiguration extends Project super.onLoad(parent, combination.toString()); } + @Override + public boolean isConcurrentBuild() { + return getParent().isConcurrentBuild(); + } + + @Override + public void setConcurrentBuild(boolean b) throws IOException { + throw new UnsupportedOperationException("The setting can be only changed at MatrixProject"); + } + /** * Used during loading to set the combination back. */ diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 6b358abe1d..8b4bb095ca 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -299,7 +299,7 @@ public abstract class AbstractProject

,R extends A */ @Exported public boolean isConcurrentBuild() { - return Jenkins.CONCURRENT_BUILD && concurrentBuild; + return concurrentBuild; } public void setConcurrentBuild(boolean b) throws IOException { diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 57959c5d67..07fc692e0f 100755 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -213,6 +213,8 @@ import org.jvnet.hudson.reactor.TaskBuilder; import org.jvnet.hudson.reactor.TaskGraphBuilder; import org.jvnet.hudson.reactor.Reactor; import org.jvnet.hudson.reactor.TaskGraphBuilder.Handle; +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; import org.kohsuke.stapler.Ancestor; @@ -3802,7 +3804,10 @@ public class Jenkins extends AbstractCIBase implements ModifiableItemGroup