diff --git a/core/src/main/java/hudson/model/Build.java b/core/src/main/java/hudson/model/Build.java index 330ea4fc0d..90bc24cd92 100644 --- a/core/src/main/java/hudson/model/Build.java +++ b/core/src/main/java/hudson/model/Build.java @@ -118,7 +118,7 @@ public abstract class Build

,B extends Build> protected Result doRun(BuildListener listener) throws Exception { if(!preBuild(listener,project.getBuilders())) return FAILURE; - if(!preBuild(listener,project.getPublishers())) + if(!preBuild(listener,project.getPublishersList())) return FAILURE; Result r = null; @@ -159,7 +159,7 @@ public abstract class Build

,B extends Build> } public void post2(BuildListener listener) throws IOException, InterruptedException { - if (!performAllBuildSteps(listener, project.getPublishers(), true)) + if (!performAllBuildSteps(listener, project.getPublishersList(), true)) setResult(FAILURE); if (!performAllBuildSteps(listener, project.getProperties(), true)) setResult(FAILURE); @@ -168,7 +168,7 @@ public abstract class Build

,B extends Build> @Override public void cleanUp(BuildListener listener) throws Exception { // at this point it's too late to mark the build as a failure, so ignore return value. - performAllBuildSteps(listener, project.getPublishers(), false); + performAllBuildSteps(listener, project.getPublishersList(), false); performAllBuildSteps(listener, project.getProperties(), false); super.cleanUp(listener); } diff --git a/core/src/main/java/hudson/model/Project.java b/core/src/main/java/hudson/model/Project.java index fb63c2c837..e3d57ca178 100644 --- a/core/src/main/java/hudson/model/Project.java +++ b/core/src/main/java/hudson/model/Project.java @@ -105,6 +105,11 @@ public abstract class Project

,B extends Build> return builders.toList(); } + /** + * @deprecated as of 1.463 + * We will be soon removing the restriction that only one instance of publisher is allowed per type. + * Use {@link #getPublishersList()} instead. + */ public Map,Publisher> getPublishers() { return publishers.toMap(); } @@ -195,7 +200,7 @@ public abstract class Project

,B extends Build> buildWrappers.rebuild(req,json, BuildWrappers.getFor(this)); builders.rebuildHetero(req,json, Builder.all(), "builder"); - publishers.rebuildHetero(req, json, Publisher.all(), "publisher"); + publishers.rebuild(req, json, BuildStepDescriptor.filter(Publisher.all(), this.getClass())); } @Override