diff --git a/changelog.html b/changelog.html
index 59cbd3d0ed..25dc0661c9 100644
--- a/changelog.html
+++ b/changelog.html
@@ -57,6 +57,8 @@ Upcoming changes
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
+
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common.jelly b/core/src/main/resources/hudson/model/AbstractItem/configure-common.jelly
index d833d3be72..df82dfcaba 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common.jelly
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common.jelly
@@ -29,9 +29,7 @@ THE SOFTWARE.
-
-
-
+
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common.properties
index 1f11eee06a..bcbdaf1b67 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common.properties
@@ -22,5 +22,4 @@
default.value=(Default)
Advanced\ Project\ Options\ configure-common=Advanced Project Options
-title.concurrentbuilds=Execute concurrent builds if necessary
Display\ Name=Display Name
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_da.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_da.properties
index bae909848b..4f67b673d3 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_da.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_da.properties
@@ -23,6 +23,5 @@
Label\ Expression=Etiketudtryk
default.value=(Standard)
Restrict\ where\ this\ project\ can\ be\ run=Begr\u00e6ns hvor dette projekt kan k\u00f8res
-title.concurrentbuilds=K\u00f8r parallelle byg om n\u00f8dvendigt
Advanced\ Project\ Options\ configure-common=Avancerede projektindstillinger
JDK\ to\ be\ used\ for\ this\ project=JDK der skal benyttes til dette projekt
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_de.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_de.properties
index 9a1642a650..7b88701baf 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_de.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_de.properties
@@ -23,6 +23,5 @@
JDK\ to\ be\ used\ for\ this\ project=JDK, das für dieses Projekt verwendet wird
default.value=(Vorgabewert)
Advanced\ Project\ Options\ configure-common=Erweiterte Projekteinstellungen
-title.concurrentbuilds=Parallele Builds ausführen, wenn notwendig
Restrict\ where\ this\ project\ can\ be\ run=Beschränke wo dieses Projekt ausgeführt werden darf
Label\ Expression=Label-Ausdruck
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_es.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_es.properties
index b45e975eab..0c03c7d4cf 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_es.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_es.properties
@@ -22,7 +22,6 @@
default.value=(por defecto)
Advanced\ Project\ Options\ configure-common=Opciones avanzadas del proyecto
-title.concurrentbuilds=Lanzar ejecuciones concurrentes en caso de ser necesario
JDK\ to\ be\ used\ for\ this\ project=JDK que se debe usar para este proyecto
Label\ Expression=Expresión
Restrict\ where\ this\ project\ can\ be\ run=Restringir dónde se puede ejecutar este proyecto.
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_fr.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_fr.properties
index 21748bd072..9bcec0762d 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_fr.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_fr.properties
@@ -26,4 +26,3 @@ Node=Noeud
Execute\ concurrent\ builds\ if\ necessary\ =Ex\u00E9cuter les builds en parall\u00E8le si n\u00E9cessaire
JDK\ to\ be\ used\ for\ this\ project=Le JDK à utiliser pour ce projet
default.value=(Valeur par défaut)
-title.concurrentbuilds=Ex\u00E9cuter des builds simultan\u00E9ment si n\u00E9cessaire
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_it.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_it.properties
index 428aee7559..4217beb20e 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_it.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_it.properties
@@ -21,4 +21,3 @@
# THE SOFTWARE.
Advanced\ Project\ Options\ configure-common=Opzioni avanzate del progetto
-title.concurrentbuilds=Esegui build in concorrenza se necessario (beta)
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_ja.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_ja.properties
index 50b5ad6bfe..ca2ea1bc12 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_ja.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_ja.properties
@@ -23,7 +23,6 @@
JDK\ to\ be\ used\ for\ this\ project=\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f7f\u7528\u3059\u308bJDK
Advanced\ Project\ Options\ configure-common=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u9ad8\u5ea6\u306a\u30aa\u30d7\u30b7\u30e7\u30f3
default.value=\u30c7\u30d5\u30a9\u30eb\u30c8
-title.concurrentbuilds=\u53ef\u80fd\u3067\u3042\u308c\u3070\u4e26\u884c\u3057\u3066\u30d3\u30eb\u30c9
Restrict\ where\ this\ project\ can\ be\ run=\u5b9f\u884c\u3059\u308b\u30ce\u30fc\u30c9\u3092\u5236\u9650
Label\ Expression=\u30e9\u30d9\u30eb\u5f0f
Display\ Name=\u8868\u793a\u7528\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_pt_BR.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_pt_BR.properties
index 4f53c24fa7..05c2f35f45 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_pt_BR.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_pt_BR.properties
@@ -24,7 +24,5 @@ Advanced\ Project\ Options\ configure-common=Op\u00e7\u00f5es Avan\u00e7adas do
# (Default)
default.value=Default
Node=N\u00f3
-# Execute concurrent builds if necessary (beta)
-title.concurrentbuilds=Execute as construcoes se necessario
Tie\ this\ project\ to\ a\ node=Vincular esse projeto a um N\u00f3
JDK\ to\ be\ used\ for\ this\ project=Necess\u00e1rio usar JDK nesse projeto
diff --git a/core/src/main/resources/hudson/model/AbstractItem/configure-common_zh_CN.properties b/core/src/main/resources/hudson/model/AbstractItem/configure-common_zh_CN.properties
index 0a5f745c2c..2ae6a54b43 100644
--- a/core/src/main/resources/hudson/model/AbstractItem/configure-common_zh_CN.properties
+++ b/core/src/main/resources/hudson/model/AbstractItem/configure-common_zh_CN.properties
@@ -21,4 +21,3 @@
# THE SOFTWARE.
Advanced\ Project\ Options\ configure-common=\u9AD8\u7EA7\u9879\u76EE\u9009\u9879
-title.concurrentbuilds=\u5728\u5FC5\u8981\u7684\u65F6\u5019\u5E76\u53D1\u6784\u5EFA
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild.jelly b/core/src/main/resources/lib/hudson/project/config-concurrentBuild.jelly
new file mode 100644
index 0000000000..25a19fa3f8
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild.jelly
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild.properties
new file mode 100644
index 0000000000..f10afbec17
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild.properties
@@ -0,0 +1,23 @@
+# the mit license
+#
+# copyright (c) 2004-2012, sun microsystems, inc., kohsuke kawaguchi, eric lefevre-ardant
+#
+# permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "software"), to deal
+# in the software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=Execute concurrent builds if necessary
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_da.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_da.properties
new file mode 100644
index 0000000000..87a59af54b
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_da.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2010, Sun Microsystems, Inc. Kohsuke Kawaguchi. Knud Poulsen.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=K\u00f8r parallelle byg om n\u00f8dvendigt
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_de.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_de.properties
new file mode 100644
index 0000000000..c87aa93863
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_de.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Simon Wiest
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=Parallele Builds ausf?hren, wenn notwendig
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_es.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_es.properties
new file mode 100644
index 0000000000..cb11ba9c5f
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_es.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Eric Lefevre-Ardant
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=Lanzar ejecuciones concurrentes en caso de ser necesario
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_fr.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_fr.properties
new file mode 100644
index 0000000000..dfc65cfb96
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_fr.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Eric Lefevre-Ardant
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=Ex\u00E9cuter des builds simultan\u00E9ment si n\u00E9cessaire
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_it.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_it.properties
new file mode 100644
index 0000000000..8d439a6b41
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_it.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2010, Sun Microsystems, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=Esegui build in concorrenza se necessario (beta)
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_pt_BR.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_pt_BR.properties
new file mode 100644
index 0000000000..8eb2b0d000
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_pt_BR.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Reginaldo L. Russinholi, Cleiber Silva
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=Execute as construcoes se necessario
diff --git a/core/src/main/resources/lib/hudson/project/config-concurrentBuild_zh_CN.properties b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_zh_CN.properties
new file mode 100644
index 0000000000..952445912c
--- /dev/null
+++ b/core/src/main/resources/lib/hudson/project/config-concurrentBuild_zh_CN.properties
@@ -0,0 +1,23 @@
+# The MIT License
+#
+# Copyright (c) 2004-2010, Sun Microsystems, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+title.concurrentbuilds=\u5728\u5FC5\u8981\u7684\u65F6\u5019\u5E76\u53D1\u6784\u5EFA
diff --git a/pom.xml b/pom.xml
index 8e8ddfffb9..00e339e793 100644
--- a/pom.xml
+++ b/pom.xml
@@ -189,7 +189,7 @@ THE SOFTWARE.
org.jenkins-ci.main
remoting
- 2.14
+ 2.13
diff --git a/test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy b/test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy
index 9e8ede8849..2285d282dd 100644
--- a/test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy
+++ b/test/src/test/groovy/hudson/matrix/MatrixProjectTest.groovy
@@ -53,6 +53,9 @@ import hudson.model.FileParameterDefinition
import hudson.model.Cause.LegacyCodeCause
import hudson.model.ParametersAction
import hudson.model.FileParameterValue
+import org.jvnet.hudson.test.MockBuilder
+import org.jvnet.hudson.test.SleepBuilder
+import java.util.concurrent.CountDownLatch
/**
*
@@ -327,4 +330,41 @@ public class MatrixProjectTest extends HudsonTestCase {
assertBuildStatusSuccess(f.get(10,TimeUnit.SECONDS));
}
+
+ /**
+ * Verifies that the concurrent build feature works, and makes sure
+ * that each gets its own unique workspace.
+ */
+ void testConcurrentBuild() {
+ jenkins.numExecutors = 10
+ jenkins.updateComputerList()
+
+ def p = createMatrixProject()
+ p.axes = new AxisList(new TextAxis("foo","1","2"))
+ p.concurrentBuild = true;
+ def latch = new CountDownLatch(4)
+ def dirs = Collections.synchronizedSet(new HashSet())
+
+ p.buildersList.add(new TestBuilder() {
+ boolean perform(AbstractBuild, ?> build, Launcher launcher, BuildListener listener) {
+ dirs << build.workspace.getRemote()
+ def marker = build.workspace.child("file")
+ def name = build.fullDisplayName
+ marker.write(name,"UTF-8")
+ latch.countDown()
+ latch.await()
+ assertEquals(name,marker.readToString())
+ return true
+ }
+ })
+
+ // should have gotten all unique names
+ def f1 = p.scheduleBuild2(0)
+ // get one going
+ Thread.sleep(1000)
+ def f2 = p.scheduleBuild2(0)
+ [f1,f2]*.get().each{ assertBuildStatusSuccess(it)}
+
+ assertEquals 4, dirs.size()
+ }
}