diff --git a/core/src/main/java/hudson/maven/MavenBuild.java b/core/src/main/java/hudson/maven/MavenBuild.java index e34792b433a01fc0010e3d5562a5ad0532fd9a35..3f0007840a89f5cd78c0c5a2d777022f425fea2e 100644 --- a/core/src/main/java/hudson/maven/MavenBuild.java +++ b/core/src/main/java/hudson/maven/MavenBuild.java @@ -191,6 +191,8 @@ public class MavenBuild extends AbstractBuild { protected Result doRun(BuildListener listener) throws Exception { // pick up a list of reporters to run getProject().getReporters().addAllTo(reporters); + getProject().getParent().getReporters().addAllTo(reporters); + for (MavenReporterDescriptor d : MavenReporters.LIST) { if(getProject().getReporters().contains(d)) continue; // already configured diff --git a/core/src/main/java/hudson/maven/MavenModuleSet.java b/core/src/main/java/hudson/maven/MavenModuleSet.java index 608f5fbdab2694dcd00179b2708d4365ac1b91a7..f33585c65c6cfee9f770ccbc44cf1370f05a137d 100644 --- a/core/src/main/java/hudson/maven/MavenModuleSet.java +++ b/core/src/main/java/hudson/maven/MavenModuleSet.java @@ -16,9 +16,11 @@ import hudson.model.SCMedItem; import hudson.model.TopLevelItem; import hudson.model.TopLevelItemDescriptor; import hudson.model.Queue; +import hudson.model.Descriptor; import hudson.tasks.Maven; import hudson.tasks.Maven.MavenInstallation; import hudson.util.CopyOnWriteMap; +import hudson.util.DescribableList; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; @@ -45,7 +47,7 @@ import java.util.logging.Logger; * * @author Kohsuke Kawaguchi */ -public final class MavenModuleSet extends AbstractProject implements TopLevelItem, ItemGroup, SCMedItem { +public final class MavenModuleSet extends AbstractProject implements TopLevelItem, ItemGroup, SCMedItem, DescribableList.Owner { /** * All {@link MavenModule}s, keyed by their {@link MavenModule#getModuleName()} module name}s. */ @@ -76,6 +78,12 @@ public final class MavenModuleSet extends AbstractProject> reporters = + new DescribableList>(this); + public MavenModuleSet(String name) { super(Hudson.getInstance(),name); } @@ -138,6 +146,13 @@ public final class MavenModuleSet extends AbstractProject> getReporters() { + return reporters; + } + public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) { if(ModuleName.isValid(token)) return getModule(token); @@ -354,6 +369,10 @@ public final class MavenModuleSet extends AbstractProject>(this); + reporters.rebuild(req,MavenReporters.getConfigurableList(),"reporter"); } public TopLevelItemDescriptor getDescriptor() { diff --git a/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly b/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly index 0a8d9be03e6f610f58af6b8b41938d0cccb52f74..894616b8a288cd52b763f52ec035c7c6f1dc0987 100644 --- a/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly +++ b/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly @@ -34,4 +34,12 @@ + + + + +