提交 fd83a285 编写于 作者: J Jesse Glick

Merged #1747.

......@@ -106,6 +106,7 @@ import java.util.logging.Logger;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.servlet.ServletException;
import jenkins.model.BlockedBecauseOfBuildInProgress;
import jenkins.model.Jenkins;
import jenkins.model.JenkinsLocationConfiguration;
import jenkins.model.ParameterizedJobMixIn;
......@@ -1101,23 +1102,12 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
}
/**
* Blocked because the previous build is already in progress.
* @deprecated use {@link BlockedBecauseOfBuildInProgress} instead.
*/
public static class BecauseOfBuildInProgress extends CauseOfBlockage {
private final AbstractBuild<?,?> build;
@Deprecated
public static class BecauseOfBuildInProgress extends BlockedBecauseOfBuildInProgress {
public BecauseOfBuildInProgress(AbstractBuild<?, ?> build) {
this.build = build;
}
@Override
public String getShortDescription() {
Executor e = build.getExecutor();
String eta = "";
if (e != null)
eta = Messages.AbstractProject_ETA(e.getEstimatedRemainingTime());
int lbn = build.getNumber();
return Messages.AbstractProject_BuildInProgress(lbn, eta);
super(build);
}
}
......@@ -1153,10 +1143,12 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
}
}
@Override
public CauseOfBlockage getCauseOfBlockage() {
// Block builds until they are done with post-production
if (isLogUpdated() && !isConcurrentBuild())
return new BecauseOfBuildInProgress(getLastBuild());
if (isLogUpdated() && !isConcurrentBuild()) {
return new BlockedBecauseOfBuildInProgress(getLastBuild());
}
if (blockBuildWhenDownstreamBuilding()) {
AbstractProject<?,?> bup = getBuildingDownstream();
if (bup!=null)
......
/*
* The MIT License
*
* Copyright 2015 Jesse Glick.
*
* 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.
*/
package jenkins.model;
import hudson.model.Executor;
import hudson.model.Job;
import hudson.model.Run;
import hudson.model.queue.CauseOfBlockage;
/**
* Indicates that a new build is blocked because the previous build is already in progress.
* Useful for implementing {@link hudson.model.Queue.Task#getCauseOfBlockage} from a {@link Job} which supports {@link hudson.model.Queue.Task#isConcurrentBuild}.
* @since 1.624
*/
public class BlockedBecauseOfBuildInProgress extends CauseOfBlockage {
private final Run<?, ?> build;
public BlockedBecauseOfBuildInProgress(Run<?, ?> build) {
this.build = build;
}
@Override public String getShortDescription() {
Executor e = build.getExecutor();
String eta = "";
if (e != null) {
eta = Messages.BlockedBecauseOfBuildInProgress_ETA(e.getEstimatedRemainingTime());
}
int lbn = build.getNumber();
return Messages.BlockedBecauseOfBuildInProgress_shortDescription(lbn, eta);
}
}
......@@ -36,11 +36,9 @@ AbstractProject.AwaitingBuildForWorkspace=Awaiting build to get a workspace.
AbstractProject.AwaitingWorkspaceToComeOnline=We need to schedule a new build to get a workspace, but deferring {0}ms in the hope that one will become available soon
AbstractProject.Pronoun=Project
AbstractProject.Aborted=Aborted
AbstractProject.BuildInProgress=Build #{0} is already in progress{1}
AbstractProject.UpstreamBuildInProgress=Upstream project {0} is already building.
AbstractProject.DownstreamBuildInProgress=Downstream project {0} is already building.
AbstractProject.Disabled=Build disabled
AbstractProject.ETA=\ (ETA:{0})
AbstractProject.NoBuilds=No existing build. Scheduling a new one.
AbstractProject.NoSCM=No SCM
AbstractProject.NoWorkspace=No workspace is available, so can\u2019t check for updates.
......
......@@ -161,7 +161,6 @@ Computer.BadChannel=Slave node offline eller ikke en fjernkanal (f.eks. en maste
AbstractProject.Aborted=Afbrudt
Queue.init=Genopretter byggek\u00f8en
Hudson.NodeDescription=master Jenkins noden
AbstractProject.BuildInProgress=Byg #{0} er allerede i gang {1}
Job.NoRecentBuildFailed=Ingen byg har fejlet for nyligt.
Permalink.LastUnsuccessfulBuild=Seneste fejlede byg
RunParameterDefinition.DisplayName=K\u00f8rselsparameter
......@@ -233,7 +232,6 @@ Note: direktoriet beh\u00f8ver ikke v\u00e6re synlig for master noden.
Label.GroupOf=Gruppe af {0}
Queue.InQuietPeriod=I en stilleperiode. udl\u00f8ber om {0}
Queue.AllNodesOffline=Alle noder med etiket ''{0}'' er offline
AbstractProject.ETA=(ETA:{0})
Hudson.NoSuchDirectory=Intet direktorie ved navn: {0}
LoadStatistics.Legends.BusyExecutors=Optagede afviklere
HealthReport.EmptyString=
......
......@@ -31,11 +31,9 @@ AbstractItem.Pronoun=Element
AbstractProject.NewBuildForWorkspace=Plane einen neuen Build, um einen Arbeitsbereich anzulegen.
AbstractProject.Pronoun=Projekt
AbstractProject.Aborted=Abgebrochen
AbstractProject.BuildInProgress=Build #{0} ist bereits in Arbeit{1}
AbstractProject.UpstreamBuildInProgress=Vorgelagertes Projekt {0} ist bereits in Arbeit.
AbstractProject.DownstreamBuildInProgress=Nachgelagertes Projekt {0} ist bereits in Arbeit.
AbstractProject.Disabled=Build deaktiviert
AbstractProject.ETA=\ (ETA:{0})
AbstractProject.NoSCM=Kein SCM
AbstractProject.NoBuilds=Es existiert kein Build. Starte neuen Build.
AbstractProject.NoWorkspace=Kein Arbeitsbereich verf\u00fcgbar, daher kann nicht auf Aktualisierungen \u00fcberpr\u00fcft werden.
......
......@@ -28,10 +28,8 @@ AbstractItem.NoSuchJobExists=La tarea ''{0}'' no existe. \u00bfQuiz\u00e1s quier
AbstractProject.NewBuildForWorkspace=Lanzando una nueva ejecuci\u00f3n para crear el espacio de trabajo.
AbstractProject.Pronoun=Proyecto
AbstractProject.Aborted=Cancelado
AbstractProject.BuildInProgress=La ejecuci\u00f3n #{0} ya est\u00e1 en progreso {1}
AbstractProject.UpstreamBuildInProgress=El proyecto padre {0} ya se est\u00e1 ejecutando.
AbstractProject.Disabled=Ejecuci\u00f3n desactivada
AbstractProject.ETA= (ETA:{0})
AbstractProject.NoSCM=Sin SCM
AbstractProject.NoWorkspace=No hay espacio de trabajo, por tanto no se puede comprobar las actualizaciones.
AbstractProject.PollingABorted=Peticiones SCM abortadas
......
......@@ -26,9 +26,7 @@ AbstractBuild.KeptBecause=conserv\u00e9 \u00e0 cause de {0}
AbstractProject.NewBuildForWorkspace=Demande d''un nouveau build afin d''avoir un r\u00e9pertoire de travail
AbstractProject.Pronoun=Projet
AbstractProject.Aborted=Annul\u00e9
AbstractProject.BuildInProgress=Le build #{0} est d\u00e9j\u00e0 en cours {1}
AbstractProject.Disabled=Build d\u00e9sactiv\u00e9
AbstractProject.ETA=\ (fin pr\u00e9vue \u00e0: {0})
AbstractProject.NoSCM=Pas d''outil de gestion de version
AbstractProject.NoWorkspace=Pas r\u00e9pertoire de travail disponible, donc impossible de r\u00e9cup\u00e9rer les mises \u00e0 jour.
AbstractProject.PollingABorted=Scrutation de l''outil de gestion de version annul\u00e9e
......
......@@ -33,11 +33,9 @@ AbstractProject.NewBuildForWorkspace=Scheduling a new build to get a workspace.
AbstractProject.AwaitingBuildForWorkspace=Awaiting build to get a workspace.
AbstractProject.Pronoun=Progetto
AbstractProject.Aborted=Interrotta
AbstractProject.BuildInProgress=Build #{0} is already in progress{1}
AbstractProject.UpstreamBuildInProgress=Upstream project {0} is already building.
AbstractProject.DownstreamBuildInProgress=Downstream project {0} is already building.
AbstractProject.Disabled=Build disabled
AbstractProject.ETA=\ (ETA:{0})
AbstractProject.NoBuilds=No existing build. Scheduling a new one.
AbstractProject.NoSCM=No SCM
AbstractProject.NoWorkspace=No workspace is available, so can''t check for updates.
......
......@@ -34,11 +34,9 @@ AbstractProject.NewBuildForWorkspace=\u65b0\u898f\u306e\u30d3\u30eb\u30c9\u3092\
AbstractProject.AwaitingBuildForWorkspace=\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u304c\u7528\u610f\u3067\u304d\u308b\u307e\u3067\u30d3\u30eb\u30c9\u3092\u4fdd\u7559\u3057\u307e\u3059\u3002
AbstractProject.Pronoun=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8
AbstractProject.Aborted=\u4e2d\u6b62
AbstractProject.BuildInProgress=\u30d3\u30eb\u30c9 #{0} \u306f\u65e2\u306b\u5b9f\u884c\u4e2d\u3067\u3059\u3002{1}
AbstractProject.UpstreamBuildInProgress=\u4e0a\u6d41\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 {0} \u306f\u3059\u3067\u306b\u30d3\u30eb\u30c9\u4e2d\u3067\u3059\u3002
AbstractProject.DownstreamBuildInProgress=\u4e0b\u6d41\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 {0} \u304c\u307e\u3060\u30d3\u30eb\u30c9\u4e2d\u3067\u3059\u3002
AbstractProject.Disabled=\u30d3\u30eb\u30c9\u306f\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002
AbstractProject.ETA=\ (\u4e88\u5b9a\u6642\u9593:{0})
AbstractProject.NoBuilds=\u30d3\u30eb\u30c9\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u65b0\u3057\u3044\u30d3\u30eb\u30c9\u3092\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3057\u307e\u3059\u3002
AbstractProject.NoSCM=SCM\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
AbstractProject.NoWorkspace=\u5229\u7528\u53ef\u80fd\u306a\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u304c\u306a\u3044\u306e\u3067\u3001\u66f4\u65b0\u3092\u30c1\u30a7\u30c3\u30af\u3067\u304d\u307e\u305b\u3093\u3002
......
......@@ -26,9 +26,7 @@ AbstractBuild.KeptBecause=Weerhouden omwille van {0}
AbstractProject.NewBuildForWorkspace=Om een werkplaats te krijgen wordt een nieuwe bouwpoging gepland.
AbstractProject.Pronoun=Project
AbstractProject.Aborted=Afgebroken
AbstractProject.BuildInProgress=Bouwpoging #{0} is reeds actief {1}
AbstractProject.Disabled=Bouwen gedeactiveerd
AbstractProject.ETA= (einde voorzien op:{0})
AbstractProject.NoSCM=Geen versiebeheersysteem beschikbaar
AbstractProject.NoWorkspace=Er is geen werkplaats beschikbaar. Ophalen van wijzigingen is dus onmogelijk.
AbstractProject.PollingABorted=Contact met versiebeheersysteem werd afgebroken.
......
......@@ -25,9 +25,7 @@ AbstractBuild.KeptBecause=mantido por causa de {0}
AbstractProject.Pronoun=Projeto
AbstractProject.Aborted=Abortado
AbstractProject.BuildInProgress=A builds #{0} j\u00e1 est\u00e1 em progresso{1}
AbstractProject.Disabled=builds desabilitada
AbstractProject.ETA=\ (ETA:{0})
AbstractProject.NoSCM=Nenhum SCM
AbstractProject.NoWorkspace=Nenhum workspace est\u00e1 dispon\u00edvel, assim n\u00e3o pode checar por atualiza\u00e7\u00f5es.
AbstractProject.PollingABorted=Pesquisa SCM abortada
......
......@@ -25,9 +25,7 @@ AbstractBuild.KeptBecause=\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e
AbstractProject.Pronoun=\u041f\u0440\u043e\u0435\u043a\u0442
AbstractProject.Aborted=\u041f\u0440\u0435\u0440\u0432\u0430\u043d\u043e
AbstractProject.BuildInProgress=\u0421\u0431\u043e\u0440\u043a\u0430 #{0} \u0443\u0436\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 {1}
AbstractProject.Disabled=\u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430
AbstractProject.ETA=\ (\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c:{0})
AbstractProject.NoSCM=\u041d\u0435\u0442 \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439
AbstractProject.NoWorkspace=\u0421\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0435\u0442, \u043d\u0435 \u043c\u043e\u0433\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.
AbstractProject.PollingABorted=\u041e\u043f\u0440\u043e\u0441 SCM \u043f\u0440\u0435\u0440\u0432\u0430\u043d
......
......@@ -26,9 +26,7 @@ AbstractBuild.KeptBecause={0} y\u00fcz\u00fcnden tutulmu\u015f
AbstractProject.NewBuildForWorkspace=\u00c7al\u0131\u015fma alan\u0131 olu\u015fturmak i\u00e7in bir yap\u0131land\u0131rma planlan\u0131yor
AbstractProject.Pronoun=Proje
AbstractProject.Aborted=Durduruldu
AbstractProject.BuildInProgress=Yap\u0131land\u0131rma #{0} zaten i\u015flemde {1}
AbstractProject.Disabled=Yap\u0131land\u0131rma devre d\u0131\u015f\u0131 b\u0131rak\u0131ld\u0131
AbstractProject.ETA=\ (ETA:{0})
AbstractProject.NoSCM=SCM yok
AbstractProject.NoWorkspace=Herhangi bir \u00e7al\u0131\u015fma alan\u0131 bulunmad\u0131\u011f\u0131ndan g\u00fcncellemeler kontrol edilemiyor.
AbstractProject.PollingABorted=SCM kontrol\u00fc durduruldu
......
......@@ -29,10 +29,8 @@ AbstractItem.NoSuchJobExists=No such job ''{0}'' exists. Perhaps you meant ''{1}
AbstractProject.NewBuildForWorkspace=Scheduling a new build to get a workspace.
AbstractProject.Pronoun=Project
AbstractProject.Aborted=Aborted
AbstractProject.BuildInProgress=Build #{0} is already in progress{1}
AbstractProject.UpstreamBuildInProgress=Upstream project {0} is already building.
AbstractProject.Disabled=Build disabled
AbstractProject.ETA=\ (ETA:{0})
AbstractProject.NoBuilds=No existing build. Scheduling a new one.
AbstractProject.NoSCM=No SCM
AbstractProject.NoWorkspace=No workspace is available, so can''t check for updates.
......
......@@ -34,11 +34,9 @@ AbstractProject.NewBuildForWorkspace=\u6311\u500b\u6642\u9593\u5efa\u7f6e\uff0c\
AbstractProject.AwaitingBuildForWorkspace=\u7b49\u5019\u5efa\u7f6e\u7522\u51fa\u5de5\u4f5c\u5340\u3002
AbstractProject.Pronoun=\u5c08\u6848
AbstractProject.Aborted=\u4e2d\u65b7
AbstractProject.BuildInProgress=\u5efa\u7f6e #{0} \u57f7\u884c\u4e2d{1}
AbstractProject.UpstreamBuildInProgress=\u4e0a\u6e38\u5c08\u6848 {0} \u5efa\u7f6e\u4e2d\u3002
AbstractProject.DownstreamBuildInProgress=\u4e0b\u6e38\u5c08\u6848 {0} \u5efa\u7f6e\u4e2d\u3002
AbstractProject.Disabled=\u5efa\u7f6e\u505c\u7528
AbstractProject.ETA=\ (\u9810\u4f30\u6642\u9593:{0})
AbstractProject.NoBuilds=\u6c92\u6709\u5efa\u7f6e\u8a18\u9304\u3002\u99ac\u4e0a\u5efa\u7f6e\u4e00\u6b21\u5427\u3002
AbstractProject.NoSCM=\u7121 SCM
AbstractProject.NoWorkspace=\u6c92\u6709\u5de5\u4f5c\u5340\uff0c\u7121\u6cd5\u6aa2\u67e5\u66f4\u65b0\u3002
......
......@@ -68,3 +68,5 @@ PatternProjectNamingStrategy.NamePatternRequired=Name Pattern is required
PatternProjectNamingStrategy.NamePatternInvalidSyntax=regular expression's syntax is invalid.
ParameterizedJobMixIn.build_with_parameters=Build with Parameters
ParameterizedJobMixIn.build_now=Build Now
BlockedBecauseOfBuildInProgress.shortDescription=Build #{0} is already in progress{1}
BlockedBecauseOfBuildInProgress.ETA=\ (ETA:{0})
......@@ -53,3 +53,5 @@ Nyttigt hvis du har modificeret konfigurationsfiler direkte, udenom Jenkins.
Mailer.Address.Not.Configured=Adresse ikke konfigureret <nobody@nowhere>
Mailer.Localhost.Error=Venligst inds\u00e6t et gyldigt v\u00e6rtsnavn, istedet for localhost
ParameterizedJobMixIn.build_now=Byg nu
BlockedBecauseOfBuildInProgress.shortDescription=Byg #{0} er allerede i gang {1}
BlockedBecauseOfBuildInProgress.ETA=(ETA:{0})
......@@ -63,3 +63,5 @@ PatternProjectNamingStrategy.NamePatternRequired=Der Regul\u00e4re Ausdruck darf
PatternProjectNamingStrategy.NamePatternInvalidSyntax=Der Regul\u00e4re Ausdruck ist ung\u00fcltig.
ParameterizedJobMixIn.build_with_parameters=Bauen mit Parametern
ParameterizedJobMixIn.build_now=Jetzt bauen
BlockedBecauseOfBuildInProgress.shortDescription=Build #{0} ist bereits in Arbeit{1}
BlockedBecauseOfBuildInProgress.ETA=\ (ETA:{0})
......@@ -63,3 +63,5 @@ PatternProjectNamingStrategy.NamePatternInvalidSyntax=La sintaxis de la expresi
Mailer.Address.Not.Configured=Direccin no configurada todava <nobody@nowhere>
Mailer.Localhost.Error=Escriba un nombre de servidor correcto en lugar de "localhost"
ParameterizedJobMixIn.build_now=Construir ahora
BlockedBecauseOfBuildInProgress.shortDescription=La ejecuci\u00f3n #{0} ya est\u00e1 en progreso {1}
BlockedBecauseOfBuildInProgress.ETA= (ETA:{0})
......@@ -43,3 +43,5 @@ Hudson.ReadPermission.Description=\
ajoutez le pseudo-utilisateur "authenticated" et accordez-lui le droit en lecture.
ParameterizedJobMixIn.build_now=Lancer un build
BlockedBecauseOfBuildInProgress.shortDescription=Le build #{0} est d\u00e9j\u00e0 en cours {1}
BlockedBecauseOfBuildInProgress.ETA=\ (fin pr\u00e9vue \u00e0: {0})
ParameterizedJobMixIn.build_now=Effettua build
BlockedBecauseOfBuildInProgress.shortDescription=Build #{0} is already in progress{1}
BlockedBecauseOfBuildInProgress.ETA=\ (ETA:{0})
......@@ -64,3 +64,5 @@ Mailer.Address.Not.Configured=\u307e\u3060\u30a2\u30c9\u30ec\u30b9\u304c\u8a2d\u
Mailer.Localhost.Error=localhost\u306e\u4ee3\u308f\u308a\u306b\u59a5\u5f53\u306a\u30db\u30b9\u30c8\u540d\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
ParameterizedJobMixIn.build_with_parameters=\u30d1\u30e9\u30e1\u30fc\u30bf\u4ed8\u304d\u30d3\u30eb\u30c9
ParameterizedJobMixIn.build_now=\u30d3\u30eb\u30c9\u5b9f\u884c
BlockedBecauseOfBuildInProgress.shortDescription=\u30d3\u30eb\u30c9 #{0} \u306f\u65e2\u306b\u5b9f\u884c\u4e2d\u3067\u3059\u3002{1}
BlockedBecauseOfBuildInProgress.ETA=\ (\u4e88\u5b9a\u6642\u9593:{0})
......@@ -31,3 +31,5 @@ Hudson.NoName=Er werd geen naam gespecifieerd
Hudson.UnsafeChar=''{0}'' is een onveilig character
Hudson.ViewName=Alle
ParameterizedJobMixIn.build_now=Start nu een bouwpoging
BlockedBecauseOfBuildInProgress.shortDescription=Bouwpoging #{0} is reeds actief {1}
BlockedBecauseOfBuildInProgress.ETA= (einde voorzien op:{0})
......@@ -71,3 +71,5 @@ PatternProjectNamingStrategy.NamePatternInvalidSyntax=A sintaxe da express\u00e3
DefaultProjectNamingStrategy.DisplayName=Padr\u00e3o
ParameterizedJobMixIn.build_with_parameters=Construir com par\u00e2metros
ParameterizedJobMixIn.build_now=Construir agora
BlockedBecauseOfBuildInProgress.shortDescription=A builds #{0} j\u00e1 est\u00e1 em progresso{1}
BlockedBecauseOfBuildInProgress.ETA=\ (ETA:{0})
......@@ -31,3 +31,5 @@ Hudson.NoName=\u0418\u043c\u044f \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u04
Hudson.UnsafeChar=''{0}'' \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b
Hudson.ViewName=\u0412\u0441\u0435
ParameterizedJobMixIn.build_now=\u0421\u043E\u0431\u0440\u0430\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441
BlockedBecauseOfBuildInProgress.shortDescription=\u0421\u0431\u043e\u0440\u043a\u0430 #{0} \u0443\u0436\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 {1}
BlockedBecauseOfBuildInProgress.ETA=\ (\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c:{0})
......@@ -31,3 +31,5 @@ Hudson.NoName=\u0130sim belirtilmedi
Hudson.UnsafeChar=''{0}'' g\u00fcvenli olmayan bir karakter
Hudson.ViewName=Hepsi
ParameterizedJobMixIn.build_now=\u015eimdi Yap\u0131land\u0131r
BlockedBecauseOfBuildInProgress.shortDescription=Yap\u0131land\u0131rma #{0} zaten i\u015flemde {1}
BlockedBecauseOfBuildInProgress.ETA=\ (ETA:{0})
ParameterizedJobMixIn.build_now=\u7acb\u5373\u6784\u5efa
BlockedBecauseOfBuildInProgress.shortDescription=Build #{0} is already in progress{1}
BlockedBecauseOfBuildInProgress.ETA=\ (ETA:{0})
......@@ -63,3 +63,5 @@ PatternProjectNamingStrategy.DisplayName=\u6a23\u5f0f
PatternProjectNamingStrategy.NamePatternRequired=\u4e00\u5b9a\u8981\u8f38\u5165\u540d\u7a31\u6a23\u5f0f
PatternProjectNamingStrategy.NamePatternInvalidSyntax=\u6b63\u898f\u8868\u793a\u5f0f\u8a9e\u6cd5\u932f\u8aa4\u3002
ParameterizedJobMixIn.build_now=\u99ac\u4e0a\u5efa\u7f6e
BlockedBecauseOfBuildInProgress.shortDescription=\u5efa\u7f6e #{0} \u57f7\u884c\u4e2d{1}
BlockedBecauseOfBuildInProgress.ETA=\ (\u9810\u4f30\u6642\u9593:{0})
......@@ -48,7 +48,6 @@ import hudson.model.AbstractProject.BecauseOfUpstreamBuildInProgress;
import hudson.model.AbstractProject.BecauseOfDownstreamBuildInProgress;
import jenkins.model.WorkspaceWriter;
import jenkins.model.Jenkins;
import hudson.model.AbstractProject.BecauseOfBuildInProgress;
import antlr.ANTLRException;
import hudson.triggers.SCMTrigger;
import hudson.model.Cause.LegacyCodeCause;
......@@ -87,10 +86,10 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
import jenkins.model.BlockedBecauseOfBuildInProgress;
import org.junit.Ignore;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.TestBuilder;
/**
......@@ -359,7 +358,7 @@ public class ProjectTest {
FreeStyleProject p = j.createFreeStyleProject("project");
p.getBuildersList().add(new Shell("sleep 10"));
QueueTaskFuture<FreeStyleBuild> b1 = waitForStart(p);
assertInstanceOf("Build can not start because previous build has not finished: " + p.getCauseOfBlockage(), p.getCauseOfBlockage(), BecauseOfBuildInProgress.class);
assertInstanceOf("Build can not start because previous build has not finished: " + p.getCauseOfBlockage(), p.getCauseOfBlockage(), BlockedBecauseOfBuildInProgress.class);
p.getLastBuild().getExecutor().interrupt();
b1.get(); // wait for it to finish
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册