提交 43bd869b 编写于 作者: K kohsuke

e-mail notification and so on can now be configured at the maven project level.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@2764 71c3de6d-444a-0410-be80-ed276b4c234a
上级 eeeacbf7
......@@ -191,6 +191,8 @@ public class MavenBuild extends AbstractBuild<MavenModule,MavenBuild> {
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
......
......@@ -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<MavenModuleSet,MavenModuleSetBuild> implements TopLevelItem, ItemGroup<MavenModule>, SCMedItem {
public final class MavenModuleSet extends AbstractProject<MavenModuleSet,MavenModuleSetBuild> implements TopLevelItem, ItemGroup<MavenModule>, 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<MavenModuleSet,MavenMo
*/
private String mavenOpts;
/**
* Reporters configured at {@link MavenModuleSet} level. Applies to all {@link MavenModule} builds.
*/
private DescribableList<MavenReporter,Descriptor<MavenReporter>> reporters =
new DescribableList<MavenReporter,Descriptor<MavenReporter>>(this);
public MavenModuleSet(String name) {
super(Hudson.getInstance(),name);
}
......@@ -138,6 +146,13 @@ public final class MavenModuleSet extends AbstractProject<MavenModuleSet,MavenMo
return r;
}
/**
* List of active {@link MavenReporter}s that should be applied to all module builds.
*/
public DescribableList<MavenReporter, Descriptor<MavenReporter>> 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<MavenModuleSet,MavenMo
goals = Util.fixEmpty(req.getParameter("goals").trim());
mavenOpts = Util.fixEmpty(req.getParameter("mavenOpts").trim());
mavenName = req.getParameter("maven_version");
if(reporters==null)
reporters = new DescribableList<MavenReporter, Descriptor<MavenReporter>>(this);
reporters.rebuild(req,MavenReporters.getConfigurableList(),"reporter");
}
public TopLevelItemDescriptor getDescriptor() {
......
......@@ -34,4 +34,12 @@
</f:entry>
</f:advanced>
</f:section>
<j:invokeStatic var="reporters" className="hudson.maven.MavenReporters" method="getConfigurableList" />
<j:if test="${!empty(reporters)}">
<f:descriptorList title="Build Settings"
descriptors="${reporters}"
instances="${it.reporters.toMap()}"
varName="reporter" />
</j:if>
</j:jelly>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册