提交 c17cd906 编写于 作者: K kohsuke

after parsing POM, proceed to the module builds.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@1975 71c3de6d-444a-0410-be80-ed276b4c234a
上级 cf6a5ad2
......@@ -41,6 +41,11 @@ public class MavenModuleSet extends AbstractProject<MavenModuleSet,MavenModuleSe
*/
transient /*final*/ Map<ModuleName,MavenModule> modules = new CopyOnWriteMap.Tree<ModuleName,MavenModule>();
/**
* Name of the top-level module.
*/
private ModuleName rootModule;
public MavenModuleSet(String name) {
super(Hudson.getInstance(),name);
}
......@@ -151,6 +156,17 @@ public class MavenModuleSet extends AbstractProject<MavenModuleSet,MavenModuleSe
}
}
public MavenModule getRootModule() {
return modules.get(rootModule);
}
/*package*/ void setRootModule(ModuleName rootModule) throws IOException {
if(this.rootModule!=null && this.rootModule.equals(rootModule))
return; // no change
this.rootModule = rootModule;
save();
}
//
//
// Web methods
......
......@@ -106,6 +106,7 @@ public final class MavenModuleSetBuild extends AbstractBuild<MavenModuleSet,Mave
Map<ModuleName,MavenModule> old = new HashMap<ModuleName, MavenModule>(modules);
modules.clear();
project.setRootModule(poms.get(0).name);
for (PomInfo pom : poms) {
MavenModule mm = old.get(pom.name);
if(mm!=null) {// found an existing matching module
......@@ -126,6 +127,11 @@ public final class MavenModuleSetBuild extends AbstractBuild<MavenModuleSet,Mave
}
Hudson.getInstance().rebuildDependencyGraph();
// start the build
listener.getLogger().println("Triggering "+project.getRootModule().getModuleName());
project.getRootModule().scheduleBuild();
return null;
} catch (IOException e) {
e.printStackTrace(listener.error("Failed to parse POMs"));
......@@ -141,8 +147,6 @@ public final class MavenModuleSetBuild extends AbstractBuild<MavenModuleSet,Mave
}
public void post(BuildListener listener) {
// TODO: trigger module builds
// select the right modules to build based on changelog
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册