You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by jv...@apache.org on 2005/07/14 12:06:39 UTC
svn commit: r219026 - in /maven/continuum/trunk:
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-core/src/main/java/org/apache/maven/continuum/
continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/
continuum-core...
Author: jvanzyl
Date: Thu Jul 14 03:06:35 2005
New Revision: 219026
URL: http://svn.apache.org/viewcvs?rev=219026&view=rev
Log:
p starting to add build ordering but needs testing
Added:
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/BuildOrder.vm
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/store/ModelloJPoxContinuumStore.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/utils/ProjectSorter.java
maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo
maven/continuum/trunk/continuum-plexus-application/app.properties
maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Thu Jul 14 03:06:35 2005
@@ -18,6 +18,7 @@
import java.util.Collection;
import java.util.Map;
+import java.util.List;
import org.apache.maven.continuum.project.AntProject;
import org.apache.maven.continuum.project.ContinuumBuild;
@@ -28,6 +29,7 @@
import org.apache.maven.continuum.project.ContinuumNotifier;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.apache.maven.continuum.scm.ScmResult;
+import org.codehaus.plexus.util.dag.CycleDetectedException;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -73,6 +75,9 @@
// ----------------------------------------------------------------------
// Building
// ----------------------------------------------------------------------
+
+ List getProjectsInBuildOrder()
+ throws CycleDetectedException, ContinuumException;
void buildProjects()
throws ContinuumException;
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Thu Jul 14 03:06:35 2005
@@ -36,8 +36,10 @@
import org.apache.maven.continuum.project.builder.maven.MavenOneContinuumProjectBuilder;
import org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilder;
import org.apache.maven.continuum.scm.ScmResult;
+import org.apache.maven.continuum.utils.ProjectSorter;
import org.codehaus.plexus.action.ActionManager;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.dag.CycleDetectedException;
import java.util.Collection;
import java.util.HashMap;
@@ -155,6 +157,35 @@
buildProject( project.getId(), force );
}
+
+ /*
+ try
+ {
+ for ( Iterator i = getProjectsInBuildOrder().iterator(); i.hasNext(); )
+ {
+ ContinuumProject project = (ContinuumProject) i.next();
+
+ buildProject( project.getId(), force );
+ }
+ }
+ catch ( CycleDetectedException e )
+ {
+ getLogger().warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
+
+ for ( Iterator i = getProjects().iterator(); i.hasNext(); )
+ {
+ ContinuumProject project = (ContinuumProject) i.next();
+
+ buildProject( project.getId(), force );
+ }
+ }
+ */
+ }
+
+ public List getProjectsInBuildOrder()
+ throws CycleDetectedException, ContinuumException
+ {
+ return ProjectSorter.getSortedProjects( getProjects() );
}
public void buildProject( String projectId )
@@ -357,7 +388,7 @@
actionManager.lookup( "create-projects-from-metadata" ).execute( context );
- result = (ContinuumProjectBuildingResult) context.get( CreateProjectsFromMetadata.KEY_PROJECT_BUILDING_RESULT );
+ result = (ContinuumProjectBuildingResult) context.get( CreateProjectsFromMetadata.KEY_PROJECT_BUILDING_RESULT );
if ( result.getWarnings().size() > 0 )
{
@@ -551,7 +582,7 @@
if ( value instanceof String )
{
- notifierProperties.setProperty( (String) key, (String) value );
+ notifierProperties.setProperty( (String) key, (String) value );
}
}
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java Thu Jul 14 03:06:35 2005
@@ -22,6 +22,7 @@
import org.apache.maven.continuum.project.ContinuumDeveloper;
import org.apache.maven.continuum.project.ContinuumNotifier;
import org.apache.maven.continuum.project.MavenTwoProject;
+import org.apache.maven.continuum.project.ContinuumDependency;
import org.apache.maven.model.CiManagement;
import org.apache.maven.model.Developer;
import org.apache.maven.model.Notifier;
@@ -170,9 +171,17 @@
for ( Iterator i = mavenProject.getDependencies().iterator(); i.hasNext(); )
{
- Dependency d = (Dependency) i.next();
+ Dependency dependency = (Dependency) i.next();
- dependencies.add( d.getGroupId() + ":" + d.getArtifactId() );
+ ContinuumDependency cd = new ContinuumDependency();
+
+ cd.setGroupId( dependency.getGroupId() );
+
+ cd.setArtifactId( dependency.getArtifactId() );
+
+ cd.setVersion( dependency.getVersion() );
+
+ dependencies.add( cd );
}
continuumProject.setDependencies( dependencies );
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/store/ModelloJPoxContinuumStore.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/store/ModelloJPoxContinuumStore.java?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/store/ModelloJPoxContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/store/ModelloJPoxContinuumStore.java Thu Jul 14 03:06:35 2005
@@ -16,26 +16,23 @@
* limitations under the License.
*/
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Collections;
-
-import javax.jdo.JDOHelper;
-import javax.jdo.PersistenceManager;
-import javax.jdo.Query;
-
import org.apache.maven.continuum.project.ContinuumBuild;
import org.apache.maven.continuum.project.ContinuumJPoxStore;
import org.apache.maven.continuum.project.ContinuumProject;
import org.apache.maven.continuum.project.ContinuumProjectState;
-import org.apache.maven.continuum.scm.ScmResult;
import org.apache.maven.continuum.scm.ScmFile;
-
+import org.apache.maven.continuum.scm.ScmResult;
import org.codehaus.plexus.jdo.JdoFactory;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.util.StringUtils;
+
+import javax.jdo.JDOHelper;
+import javax.jdo.PersistenceManager;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/utils/ProjectSorter.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/utils/ProjectSorter.java?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/utils/ProjectSorter.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/utils/ProjectSorter.java Thu Jul 14 03:06:35 2005
@@ -3,13 +3,14 @@
*/
package org.apache.maven.continuum.utils;
-import org.apache.maven.model.Dependency;
+import org.apache.maven.continuum.project.ContinuumDependency;
import org.apache.maven.continuum.project.ContinuumProject;
import org.codehaus.plexus.util.dag.CycleDetectedException;
import org.codehaus.plexus.util.dag.DAG;
import org.codehaus.plexus.util.dag.TopologicalSorter;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -39,7 +40,7 @@
* <li>do a topo sort on the graph that remains.</li>
* </ul>
*/
- public static List getSortedProjects( List projects )
+ public static List getSortedProjects( Collection projects )
throws CycleDetectedException
{
DAG dag = new DAG();
@@ -65,7 +66,13 @@
for ( Iterator j = project.getDependencies().iterator(); j.hasNext(); )
{
- String dependencyId = (String) i.next();
+ Object o = i.next();
+
+ System.out.println( "o = " + o );
+
+ ContinuumDependency dependency = (ContinuumDependency) o;
+
+ String dependencyId = getDependencyId( dependency );
if ( dag.getVertex( dependencyId ) != null )
{
@@ -87,6 +94,11 @@
}
private static String getProjectId( ContinuumProject project )
+ {
+ return project.getGroupId() + ":" + project.getArtifactId();
+ }
+
+ private static String getDependencyId( ContinuumDependency project )
{
return project.getGroupId() + ":" + project.getArtifactId();
}
Modified: maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo (original)
+++ maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo Thu Jul 14 03:06:35 2005
@@ -57,7 +57,7 @@
<type>String</type>
</field>
<field>
- <name>lastBuildId</name>
+ <name>latestBuildId</name>
<version>1.0.0</version>
<type>String</type>
</field>
@@ -149,6 +149,14 @@
<multiplicity>*</multiplicity>
</association>
</field>
+ <field>
+ <name>dependencies</name>
+ <version>1.0.0</version>
+ <association stash.part="true">
+ <type>ContinuumDependency</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
</fields>
</class>
@@ -196,6 +204,29 @@
</field>
<field>
<name>email</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+ </fields>
+ </class>
+
+ <class stash.storable="true">
+ <name>ContinuumDependency</name>
+ <version>1.0.0</version>
+ <fields>
+ <field>
+ <name>groupId</name>
+ <identifier>true</identifier>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+ <field>
+ <name>artifactId</name>
+ <version>1.0.0</version>
+ <type>String</type>
+ </field>
+ <field>
+ <name>version</name>
<version>1.0.0</version>
<type>String</type>
</field>
Modified: maven/continuum/trunk/continuum-plexus-application/app.properties
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/app.properties?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/app.properties (original)
+++ maven/continuum/trunk/continuum-plexus-application/app.properties Thu Jul 14 03:06:35 2005
@@ -21,20 +21,20 @@
# Development properties
# ----------------------------------------------------------
-#localization.directory=${plexus.home}/../../../../../continuum-web/src/main/resources/localization
-#velocity.templates.directory=${plexus.home}/../../../../../continuum-web/src/main/resources/templates
-#velocimacro.reload = true
-#velocity.resource.caching = false
-#forms.directory=${plexus.home}/../../../../../continuum-web/src/main/resources/forms
-#jetty.port=8080
+localization.directory=${plexus.home}/../../../../../continuum-web/src/main/resources/localization
+velocity.templates.directory=${plexus.home}/../../../../../continuum-web/src/main/resources/templates
+velocimacro.reload = true
+velocity.resource.caching = false
+forms.directory=${plexus.home}/../../../../../continuum-web/src/main/resources/forms
+jetty.port=8080
# ----------------------------------------------------------
# Production properties
# ----------------------------------------------------------
-localization.directory=${plexus.home}/webapp/localization
-velocity.templates.directory=${plexus.home}/webapp/templates
-velocimacro.reload = false
-velocity.resource.caching = true
-forms.directory=${plexus.home}/webapp/forms
-jetty.port=8080
+#localization.directory=${plexus.home}/webapp/localization
+#velocity.templates.directory=${plexus.home}/webapp/templates
+#velocimacro.reload = false
+#velocity.resource.caching = true
+#forms.directory=${plexus.home}/webapp/forms
+#jetty.port=8080
Modified: maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm?rev=219026&r1=219025&r2=219026&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/navigations/Menu.vm Thu Jul 14 03:06:35 2005
@@ -18,6 +18,13 @@
</div>
</div>
+ <div id="projecttools" class="toolgroup">
+ <div class="label">Build</div>
+ <div class="body">
+ <div><a href="$link.setPage('BuildOrder.vm')">Build Order</a></div>
+ </div>
+ </div>
+
<!--
<div id="projecttools" class="toolgroup">
<div class="label">Import Project</div>
Added: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/BuildOrder.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/BuildOrder.vm?rev=219026&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/BuildOrder.vm (added)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/BuildOrder.vm Thu Jul 14 03:06:35 2005
@@ -0,0 +1,14 @@
+$page.setTitle( "Continuum - Build Order" )
+
+<div class="app">
+ <div id="axial" class="h3">
+ <h3>Build Order</h3>
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ #foreach ( $project in $continuum.projectsInBuildOrder )
+ <tr class="$css.nextClass">
+ <td>$project.name</td>
+ </tr>
+ #end
+ </table>
+ </div>
+</div>
\ No newline at end of file