提交 ea04ff2e 编写于 作者: M mindless

[FIXED HUDSON-8007] apply patch from raspy to allow build to start when

polling interval is shorter than quiet period and we need a build/workspace
for polling (don't continuously push out the quiet period)


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@36849 71c3de6d-444a-0410-be80-ed276b4c234a
上级 687ab932
...@@ -1166,11 +1166,11 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A ...@@ -1166,11 +1166,11 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
*/ */
public PollingResult poll( TaskListener listener ) { public PollingResult poll( TaskListener listener ) {
SCM scm = getScm(); SCM scm = getScm();
if(scm==null) { if (scm==null) {
listener.getLogger().println(Messages.AbstractProject_NoSCM()); listener.getLogger().println(Messages.AbstractProject_NoSCM());
return NO_CHANGES; return NO_CHANGES;
} }
if(isDisabled()) { if (isDisabled()) {
listener.getLogger().println(Messages.AbstractProject_Disabled()); listener.getLogger().println(Messages.AbstractProject_Disabled());
return NO_CHANGES; return NO_CHANGES;
} }
...@@ -1178,7 +1178,7 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A ...@@ -1178,7 +1178,7 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
R lb = getLastBuild(); R lb = getLastBuild();
if (lb==null) { if (lb==null) {
listener.getLogger().println(Messages.AbstractProject_NoBuilds()); listener.getLogger().println(Messages.AbstractProject_NoBuilds());
return BUILD_NOW; return isInQueue() ? NO_CHANGES : BUILD_NOW;
} }
if (pollingBaseline==null) { if (pollingBaseline==null) {
...@@ -1197,7 +1197,7 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A ...@@ -1197,7 +1197,7 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
} }
try { try {
if(scm.requiresWorkspaceForPolling()) { if (scm.requiresWorkspaceForPolling()) {
// lock the workspace of the last build // lock the workspace of the last build
FilePath ws=lb.getWorkspace(); FilePath ws=lb.getWorkspace();
...@@ -1213,8 +1213,13 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A ...@@ -1213,8 +1213,13 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
listener.getLogger().println( ws==null listener.getLogger().println( ws==null
? Messages.AbstractProject_WorkspaceOffline() ? Messages.AbstractProject_WorkspaceOffline()
: Messages.AbstractProject_NoWorkspace()); : Messages.AbstractProject_NoWorkspace());
listener.getLogger().println(Messages.AbstractProject_NewBuildForWorkspace()); if (isInQueue()) {
return BUILD_NOW; listener.getLogger().println(Messages.AbstractProject_AwaitingBuildForWorkspace());
return NO_CHANGES;
} else {
listener.getLogger().println(Messages.AbstractProject_NewBuildForWorkspace());
return BUILD_NOW;
}
} else { } else {
WorkspaceList l = lb.getBuiltOn().toComputer().getWorkspaceList(); WorkspaceList l = lb.getBuiltOn().toComputer().getWorkspaceList();
// if doing non-concurrent build, acquire a workspace in a way that causes builds to block for this workspace. // if doing non-concurrent build, acquire a workspace in a way that causes builds to block for this workspace.
......
...@@ -27,6 +27,7 @@ AbstractBuild.KeptBecause=kept because of {0} ...@@ -27,6 +27,7 @@ AbstractBuild.KeptBecause=kept because of {0}
AbstractItem.NoSuchJobExists=No such job ''{0}'' exists. Perhaps you meant ''{1}''? AbstractItem.NoSuchJobExists=No such job ''{0}'' exists. Perhaps you meant ''{1}''?
AbstractProject.NewBuildForWorkspace=Scheduling a new build to get a workspace. AbstractProject.NewBuildForWorkspace=Scheduling a new build to get a workspace.
AbstractProject.AwaitingBuildForWorkspace=Awaiting build to get a workspace.
AbstractProject.Pronoun=Project AbstractProject.Pronoun=Project
AbstractProject.Aborted=Aborted AbstractProject.Aborted=Aborted
AbstractProject.BuildInProgress=Build #{0} is already in progress{1} AbstractProject.BuildInProgress=Build #{0} is already in progress{1}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册