提交 6c7ef1fb 编写于 作者: K kohsuke

MavenModuleSet owns the SCM, as the group of MavenJobs share the single directory tree.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@1850 71c3de6d-444a-0410-be80-ed276b4c234a
上级 fc96a5ee
......@@ -6,7 +6,11 @@ import hudson.model.ItemGroup;
import hudson.model.TopLevelItem;
import hudson.model.TopLevelItemDescriptor;
import hudson.model.Items;
import hudson.model.Descriptor.FormException;
import hudson.util.CopyOnWriteMap;
import hudson.scm.SCM;
import hudson.scm.NullSCM;
import hudson.scm.SCMS;
import java.io.File;
import java.io.FileFilter;
......@@ -14,6 +18,11 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import javax.servlet.ServletException;
/**
* Group of {@link MavenModule}s.
*
......@@ -30,6 +39,8 @@ public class MavenModuleSet extends AbstractItem implements TopLevelItem, ItemGr
*/
transient /*final*/ Map<String,MavenModule> modules = new CopyOnWriteMap.Tree<String,MavenModule>();
private SCM scm = new NullSCM();
public MavenModuleSet(String name) {
super(name);
}
......@@ -42,6 +53,14 @@ public class MavenModuleSet extends AbstractItem implements TopLevelItem, ItemGr
return Hudson.getInstance();
}
public SCM getScm() {
return scm;
}
public void setScm(SCM scm) {
this.scm = scm;
}
public Collection<MavenModule> getItems() {
return modules.values();
}
......@@ -77,6 +96,19 @@ public class MavenModuleSet extends AbstractItem implements TopLevelItem, ItemGr
}
}
public synchronized void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
if(!Hudson.adminCheck(req,rsp))
return;
try {
setScm(SCMS.parseSCM(req));
} catch (FormException e) {
throw new ServletException(e);
}
save();
}
public TopLevelItemDescriptor getDescriptor() {
return DESCRIPTOR;
}
......
......@@ -481,8 +481,7 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
}
try {
int scmidx = Integer.parseInt(req.getParameter("scm"));
setScm(SCMS.SCMS.get(scmidx).newInstance(req));
setScm(SCMS.parseSCM(req));
for (Trigger t : triggers)
t.stop();
......
package hudson.scm;
import hudson.model.Descriptor;
import hudson.model.Descriptor.FormException;
import java.util.List;
import org.kohsuke.stapler.StaplerRequest;
/**
* @author Kohsuke Kawaguchi
*/
......@@ -17,4 +20,12 @@ public class SCMS {
NullSCM.DESCRIPTOR,
CVSSCM.DescriptorImpl.DESCRIPTOR,
SubversionSCM.DescriptorImpl.DESCRIPTOR);
/**
* Parses {@link SCM} configuration from the submitted form.
*/
public static SCM parseSCM(StaplerRequest req) throws FormException {
int scmidx = Integer.parseInt(req.getParameter("scm"));
return SCMS.get(scmidx).newInstance(req);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册