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/06/06 06:08:41 UTC
svn commit: r180208 -
/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store
/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum
/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action
/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2
/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/store
/maven/continuum/trunk/continuum-plexus-application
/maven/continuum/trunk/continuum-web
/maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/pipeline/valve
/maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus
/maven/continuum/trunk/continuum-web/src/main/resources/templates/layouts
/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens
Author: jvanzyl
Date: Sun Jun 5 21:08:40 2005
New Revision: 180208
URL: http://svn.apache.org/viewcvs?rev=180208&view=rev
Log:
o altering continuum store to allow adding straight ContinuumProject's,
something is not quite right with this. As I get a mismatch when trying to
do an insert.
o modified DefaultMavenBuilderHelper to populate the continuum project with
groupId, url, testOutputDirectory and developers
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.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/core/action/StoreProjectAction.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-plexus-application/app.properties
maven/continuum/trunk/continuum-web/pom.xml
maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/pipeline/valve/LoginValve.java
maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml
maven/continuum/trunk/continuum-web/src/main/resources/templates/layouts/Index.vm
maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/View.vm
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/store/ContinuumStore.java Sun Jun 5 21:08:40 2005
@@ -38,6 +38,9 @@
// ContinuumProject
// ----------------------------------------------------------------------
+ String addProject( ContinuumProject project )
+ throws ContinuumStoreException;
+
String addProject( String name,
String scmUrl,
String nagEmailAddress,
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=180208&r1=180207&r2=180208&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 Sun Jun 5 21:08:40 2005
@@ -283,7 +283,49 @@
public void addMavenOneProject( String metadataUrl )
throws ContinuumException
{
- core.addProjectsFromUrl( metadataUrl, MavenOneContinuumProjectBuilder.ID );
+ Map context = new HashMap();
+
+ context.put( CreateProjectsFromMetadata.KEY_PROJECT_BUILDER_ID, MavenOneContinuumProjectBuilder.ID );
+
+ context.put( CreateProjectsFromMetadata.KEY_URL, metadataUrl );
+
+ context.put( CreateProjectsFromMetadata.KEY_WORKING_DIRECTORY, core.getWorkingDirectory() );
+
+ try
+ {
+ // ----------------------------------------------------------------------
+ // During the execution of the this action we may find that the metadata
+ // isn't good enough for the following reasons:
+ //
+ // 1) No scm element (repository element for m1)
+ // 2) Invalid scm element (repository element for m1)
+ // 3) No ciManagement (m2)
+ // 4) Invalid ciManagement element (m2)
+ // ----------------------------------------------------------------------
+
+ actionManager.lookup( "create-projects-from-metadata" ).execute( context );
+
+ ContinuumProjectBuildingResult result = (ContinuumProjectBuildingResult) context.get( CreateProjectsFromMetadata.KEY_PROJECT_BUILDING_RESULT );
+
+ List projects = result.getProjects();
+
+ for ( Iterator i = projects.iterator(); i.hasNext(); )
+ {
+ ContinuumProject project = (ContinuumProject) i.next();
+
+ context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT, project );
+
+ actionManager.lookup( "validate-project" ).execute( context );
+
+ actionManager.lookup( "store-project" ).execute( context );
+
+ actionManager.lookup( "add-project-to-checkout-queue" ).execute( context );
+ }
+ }
+ catch ( Exception e )
+ {
+ throw new ContinuumException( "Error adding m1 project: ", e );
+ }
}
public void addMavenOneProject( MavenOneProject project )
@@ -293,13 +335,26 @@
configuration.setProperty( MavenOneBuildExecutor.CONFIGURATION_GOALS, project.getGoals() );
- core.addProjectFromScm( project.getScmUrl(),
- MavenOneBuildExecutor.ID,
- project.getName(),
- project.getNagEmailAddress(),
- project.getVersion(),
- project.getCommandLineArguments(),
- configuration );
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ Map context = new HashMap();
+
+ context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT, project );
+
+ try
+ {
+ actionManager.lookup( "validate-project" ).execute( context );
+
+ actionManager.lookup( "store-project" ).execute( context );
+
+ actionManager.lookup( "add-project-to-checkout-queue" ).execute( context );
+ }
+ catch ( Exception e )
+ {
+ throw new ContinuumException( "Error adding m1 project: ", e );
+ }
}
public MavenOneProject getMavenOneProject( String id )
@@ -383,17 +438,32 @@
public void addMavenTwoProject( MavenTwoProject project )
throws ContinuumException
{
+ //TODO: these need to go away
+
Properties configuration = new Properties();
configuration.setProperty( MavenTwoBuildExecutor.CONFIGURATION_GOALS, project.getGoals() );
- core.addProjectFromScm( project.getScmUrl(),
- MavenTwoBuildExecutor.ID,
- project.getName(),
- project.getNagEmailAddress(),
- project.getVersion(),
- project.getCommandLineArguments(),
- configuration );
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ Map context = new HashMap();
+
+ context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT, project );
+
+ try
+ {
+ actionManager.lookup( "validate-project" ).execute( context );
+
+ actionManager.lookup( "store-project" ).execute( context );
+
+ actionManager.lookup( "add-project-to-checkout-queue" ).execute( context );
+ }
+ catch ( Exception e )
+ {
+ throw new ContinuumException( "Error adding m2 project: ", e );
+ }
}
public MavenTwoProject getMavenTwoProject( String id )
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/StoreProjectAction.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/StoreProjectAction.java?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/StoreProjectAction.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/StoreProjectAction.java Sun Jun 5 21:08:40 2005
@@ -27,7 +27,9 @@
//
// ----------------------------------------------------------------------
+ String projectId = getStore().addProject( project );
+ /*
String projectId = getStore().addProject( project.getName(),
project.getScmUrl(),
project.getNagEmailAddress(),
@@ -36,8 +38,7 @@
project.getExecutorId(),
null,
project.getConfiguration() );
-
- System.out.println( "projectId = " + projectId );
+ */
context.put( KEY_PROJECT_ID, projectId );
@@ -57,7 +58,7 @@
// figure out what it is.
project.setWorkingDirectory( projectWorkingDirectory.getAbsolutePath() );
-
+
getStore().setWorkingDirectory( projectId, projectWorkingDirectory.getAbsolutePath() );
}
}
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=180208&r1=180207&r2=180208&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 Sun Jun 5 21:08:40 2005
@@ -24,10 +24,12 @@
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.continuum.project.ContinuumProject;
+import org.apache.maven.continuum.project.ContinuumDeveloper;
import org.apache.maven.model.CiManagement;
import org.apache.maven.model.Notifier;
import org.apache.maven.model.Repository;
import org.apache.maven.model.Scm;
+import org.apache.maven.model.Developer;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.settings.MavenSettingsBuilder;
@@ -43,6 +45,8 @@
extends AbstractLogEnabled
implements MavenBuilderHelper
{
+ public static final String DEFAULT_TEST_OUTPUT_DIRECTORY = "target/surefire-reports";
+
/** @requirement */
private MavenProjectBuilder projectBuilder;
@@ -88,6 +92,56 @@
if ( StringUtils.isEmpty( configuration.getProperty( MavenTwoBuildExecutor.CONFIGURATION_GOALS ) ) )
{
configuration.setProperty( MavenTwoBuildExecutor.CONFIGURATION_GOALS, "clean:clean install" );
+ }
+
+ // ----------------------------------------------------------------------
+ // Group
+ // ----------------------------------------------------------------------
+
+ System.out.println( "mavenProject.getGroupId() = " + mavenProject.getGroupId() );
+
+ if ( mavenProject.getGroupId() != null )
+ {
+ continuumProject.setGroupId( mavenProject.getGroupId() );
+ }
+
+ // ----------------------------------------------------------------------
+ // Project Url
+ // ----------------------------------------------------------------------
+
+ System.out.println( "mavenProject.getUrl() = " + mavenProject.getUrl() );
+
+ if ( mavenProject.getUrl() != null )
+ {
+ continuumProject.setUrl( mavenProject.getUrl() );
+ }
+
+ // ----------------------------------------------------------------------
+ // Test output directory
+ // ----------------------------------------------------------------------
+
+ continuumProject.setTestOutputDirectory( DEFAULT_TEST_OUTPUT_DIRECTORY );
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ if ( mavenProject.getDevelopers() != null )
+ {
+ for ( Iterator i = mavenProject.getDevelopers().iterator(); i.hasNext(); )
+ {
+ Developer d = (Developer) i.next();
+
+ ContinuumDeveloper cd = new ContinuumDeveloper();
+
+ cd.setId( d.getId() );
+
+ cd.setName( d.getName() );
+
+ cd.setEmail( d.getEmail() );
+
+ continuumProject.addDeveloper( cd );
+ }
}
}
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=180208&r1=180207&r2=180208&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 Sun Jun 5 21:08:40 2005
@@ -81,6 +81,24 @@
// ContinuumProject
// ----------------------------------------------------------------------
+ public String addProject( ContinuumProject project )
+ throws ContinuumStoreException
+ {
+ try
+ {
+ Object id = store.addContinuumProject( project );
+
+ project = store.getContinuumProjectByJdoId( id, true );
+ }
+ catch ( Exception e )
+ {
+ throw new ContinuumStoreException( "Error while adding a project.", e );
+ }
+
+ return project.getId();
+ }
+
+
public String addProject( String name,
String scmUrl,
String nagEmailAddress,
Modified: maven/continuum/trunk/continuum-plexus-application/app.properties
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/app.properties?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/app.properties (original)
+++ maven/continuum/trunk/continuum-plexus-application/app.properties Sun Jun 5 21:08:40 2005
@@ -21,18 +21,18 @@
# 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
-#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
+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
-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
+#forms.directory=${plexus.home}/webapp/forms
+#jetty.port=8080
Modified: maven/continuum/trunk/continuum-web/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/pom.xml?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/pom.xml (original)
+++ maven/continuum/trunk/continuum-web/pom.xml Sun Jun 5 21:08:40 2005
@@ -46,7 +46,7 @@
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus-summit</artifactId>
- <version>1.0-beta-4</version>
+ <version>1.0-beta-5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>plexus</groupId>
Modified: maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/pipeline/valve/LoginValve.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/pipeline/valve/LoginValve.java?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/pipeline/valve/LoginValve.java (original)
+++ maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/pipeline/valve/LoginValve.java Sun Jun 5 21:08:40 2005
@@ -20,17 +20,18 @@
import org.codehaus.plexus.summit.exception.SummitException;
import org.codehaus.plexus.summit.pipeline.valve.AbstractValve;
+import org.codehaus.plexus.summit.pipeline.valve.ValveInvocationException;
import org.codehaus.plexus.summit.rundata.RunData;
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id: LoginValve.java,v 1.1 2005/04/04 14:05:38 jvanzyl Exp $
+ * @version $Id$
*/
public class LoginValve
extends AbstractValve
{
public void invoke( RunData data )
- throws IOException, SummitException
+ throws IOException, ValveInvocationException
{
String skip = data.getRequest().getParameter( "skipLogin" );
Modified: maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/META-INF/plexus/components.xml Sun Jun 5 21:08:40 2005
@@ -28,12 +28,13 @@
<implementation>org.codehaus.plexus.summit.pipeline.SummitPipeline</implementation>
<lifecycle-handler>plexus-configurable</lifecycle-handler>
<configuration>
+ <nocache>true</nocache>
<valves>
<valve>org.apache.maven.continuum.web.pipeline.valve.ContinuumViewContextValve</valve>
<!--
<valve>org.apache.maven.continuum.web.pipeline.valve.LoginValve</valve>
-->
- <valve>org.codehaus.plexus.action.web.ActionValve</valve>
+ <valve>org.codehaus.plexus.summit.pipeline.valve.ActionValve</valve>
<valve>org.codehaus.plexus.summit.pipeline.valve.DetermineTargetValve</valve>
<valve>org.apache.maven.continuum.web.pipeline.valve.ContinuumViewContextPopulatorValve</valve>
<valve>org.codehaus.plexus.summit.pipeline.valve.ResolverValve</valve>
@@ -60,6 +61,11 @@
<scope>request</scope>
</tool>
<tool>
+ <name>page</name>
+ <role>pagetool</role>
+ <scope>request</scope>
+ </tool>
+ <tool>
<name>css</name>
<role>csstool</role>
<scope>request</scope>
@@ -88,8 +94,6 @@
</tools>
</configuration>
</component>
-
-
<component>
<role>datetool</role>
Modified: maven/continuum/trunk/continuum-web/src/main/resources/templates/layouts/Index.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/layouts/Index.vm?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/layouts/Index.vm (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/layouts/Index.vm Sun Jun 5 21:08:40 2005
@@ -2,12 +2,7 @@
<html>
<head>
-#if( $project.name )
- <title>Continuum - $project.name</title>
-#else
- <title>Continuum</title>
-#end
-
+ <title>$page.title</title>
<link rel="stylesheet" type="text/css" href="$data.getLink("css/tigris.css")" media="screen" />
<link rel="stylesheet" type="text/css" href="$data.getLink("css/print.css")" media="print" />
Modified: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/View.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/View.vm?rev=180208&r1=180207&r2=180208&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/View.vm (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/View.vm Sun Jun 5 21:08:40 2005
@@ -18,5 +18,24 @@
</table>
#bar()
</div>
+
+ $item.url
+ $item.groupId
+
+
+ <h3>$i18n.getString( $form.view.titleKey )</h3>
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ #foreach ( $developer in $item.developers )
+ <tr class="b">
+ $developer.name
+ <th>$i18n.getString( $element.labelKey )</th>
+ <td>$formtool.getItem( $form, $element, $item )</td>
+ </tr>
+ #end
+ </table>
+ #bar()
+ </div>
+
</div>
</div>