You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ep...@apache.org on 2006/09/22 08:27:36 UTC
svn commit: r448831 - in
/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main:
java/org/apache/maven/continuum/web/action/ resources/
resources/org/apache/maven/continuum/web/action/ webapp/ webapp/components/
Author: epunzalan
Date: Thu Sep 21 23:27:35 2006
New Revision: 448831
URL: http://svn.apache.org/viewvc?view=rev&rev=448831
Log:
PR: CONTINUUM-904
reformatted release workflow and added form validations
Added:
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerform-validation.xml (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerformFromScm-validation.xml (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePrepareAction-releasePrepare-validation.xml (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseFinished.jsp (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInProgress.jsp (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInitialized.jsp (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerform.jsp (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerformFromScm.jsp (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePrepare.jsp (with props)
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseViewResult.jsp (with props)
Removed:
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PerformReleaseAction.java
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/PrepareReleaseAction.java
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ViewReleaseResultAction.java
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performRelease.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseFinished.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/performReleaseProgress.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareRelease.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseFinished.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/prepareReleaseProgress.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseResult.jsp
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/viewReleaseResult.jsp
Modified:
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml
maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java Thu Sep 21 23:27:35 2006
@@ -0,0 +1,78 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
+import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
+
+/**
+ * @author Edwin Punzalan
+ *
+ * @plexus.component
+ * role="com.opensymphony.xwork.Action"
+ * role-hint="releaseCleanup"
+ */
+public class ReleaseCleanupAction
+ extends ContinuumActionSupport
+{
+ private int projectId;
+
+ private String releaseId;
+
+ public String execute()
+ throws Exception
+ {
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ releaseManager.getReleaseResults().remove( releaseId );
+
+ ContinuumReleaseManagerListener listener;
+
+ listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().remove( releaseId );
+
+ if ( listener != null )
+ {
+ String goal = listener.getGoalName();
+
+ return goal + "Finished";
+ }
+ else
+ {
+ throw new Exception( "No listener to cleanup for id " + releaseId );
+ }
+ }
+
+ public String getReleaseId()
+ {
+ return releaseId;
+ }
+
+ public void setReleaseId( String releaseId )
+ {
+ this.releaseId = releaseId;
+ }
+
+ public int getProjectId()
+ {
+ return projectId;
+ }
+
+ public void setProjectId( int projectId )
+ {
+ this.projectId = projectId;
+ }
+}
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java Thu Sep 21 23:27:35 2006
@@ -0,0 +1,138 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
+import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
+import org.apache.maven.plugins.release.ReleaseResult;
+
+/**
+ * @author Edwin Punzalan
+ *
+ * @plexus.component
+ * role="com.opensymphony.xwork.Action"
+ * role-hint="releaseInProgress"
+ */
+public class ReleaseInProgressAction
+ extends ContinuumActionSupport
+{
+ private int projectId;
+
+ private String releaseId;
+
+ private ContinuumReleaseManagerListener listener;
+
+ private ReleaseResult result;
+
+ public String execute()
+ throws Exception
+ {
+ String status;
+
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().get( releaseId );
+
+ if ( listener != null )
+ {
+ if ( listener.getState() == ContinuumReleaseManagerListener.LISTENING )
+ {
+ status = "inProgress";
+ }
+ else if ( listener.getState() == ContinuumReleaseManagerListener.FINISHED )
+ {
+ status = SUCCESS;
+ }
+ else
+ {
+ status = "initialized";
+ }
+ }
+ else
+ {
+ throw new Exception( "There is no on-going or finished release operation with id " + releaseId );
+ }
+
+ return status;
+ }
+
+ public String viewResult()
+ throws Exception
+ {
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().get( releaseId );
+
+ if ( listener != null )
+ {
+ if ( listener.getState() == ContinuumReleaseManagerListener.FINISHED )
+ {
+ result = (ReleaseResult) releaseManager.getReleaseResults().get( releaseId );
+
+ return SUCCESS;
+ }
+ else
+ {
+ throw new Exception( "The release operation with id " + releaseId + "has not finished yet.");
+ }
+ }
+ else
+ {
+ throw new Exception( "There is no finished release operation with id " + releaseId );
+ }
+ }
+
+ public String getReleaseId()
+ {
+ return releaseId;
+ }
+
+ public void setReleaseId( String releaseId )
+ {
+ this.releaseId = releaseId;
+ }
+
+ public ContinuumReleaseManagerListener getListener()
+ {
+ return listener;
+ }
+
+ public void setListener( ContinuumReleaseManagerListener listener )
+ {
+ this.listener = listener;
+ }
+
+ public ReleaseResult getResult()
+ {
+ return result;
+ }
+
+ public void setResult( ReleaseResult result )
+ {
+ this.result = result;
+ }
+
+ public int getProjectId()
+ {
+ return projectId;
+ }
+
+ public void setProjectId( int projectId )
+ {
+ this.projectId = projectId;
+ }
+}
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java Thu Sep 21 23:27:35 2006
@@ -0,0 +1,264 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
+import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
+import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
+import org.apache.maven.plugins.release.ReleaseResult;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+
+import java.io.File;
+
+/**
+ * @author Edwin Punzalan
+ *
+ * @plexus.component
+ * role="com.opensymphony.xwork.Action"
+ * role-hint="releasePerform"
+ */
+public class ReleasePerformAction
+ extends ContinuumActionSupport
+{
+ private int projectId;
+
+ private String releaseId;
+
+ private String scmUrl;
+
+ private String scmUsername;
+
+ private String scmPassword;
+
+ private String scmTag;
+
+ private String scmTagBase;
+
+ private String goals;
+
+ private boolean useReleaseProfile;
+
+ private ContinuumReleaseManagerListener listener;
+
+ private ReleaseResult result;
+
+ public String inputFromScm()
+ throws Exception
+ {
+ populateFromProject();
+
+ releaseId = "";
+
+ return SUCCESS;
+ }
+
+ public String input()
+ throws Exception
+ {
+ return SUCCESS;
+ }
+
+ public String execute()
+ throws Exception
+ {
+ listener = new DefaultReleaseManagerListener();
+
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ //todo should be configurable
+ File performDirectory = new File( getContinuum().getConfiguration().getWorkingDirectory(),
+ "releases-" + System.currentTimeMillis() );
+ performDirectory.mkdirs();
+
+ releaseManager.perform( releaseId, performDirectory, goals, useReleaseProfile, listener );
+
+ return SUCCESS;
+ }
+
+ public String executeFromScm()
+ throws Exception
+ {
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ ReleaseDescriptor descriptor = new ReleaseDescriptor();
+ descriptor.setScmSourceUrl( scmUrl );
+ descriptor.setScmUsername( scmUsername );
+ descriptor.setScmReleaseLabel( scmTag );
+ descriptor.setScmTagBase( scmTagBase );
+
+ String releaseId;
+ do
+ {
+ releaseId = String.valueOf( System.currentTimeMillis() );
+ }while ( releaseManager.getPreparedReleases().containsKey( releaseId ) );
+
+ releaseManager.getPreparedReleases().put( releaseId, descriptor );
+
+ return execute();
+ }
+
+ public String checkProgress()
+ throws Exception
+ {
+ String status;
+
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().get( releaseId );
+
+ if ( listener != null )
+ {
+ if ( listener.getState() == ContinuumReleaseManagerListener.FINISHED )
+ {
+ status = "finished";
+ }
+ else
+ {
+ status = "inProgress";
+ }
+ }
+ else
+ {
+ throw new Exception( "There is no release on-going or finished with id: " + releaseId );
+ }
+
+ return status;
+ }
+
+ private void populateFromProject()
+ throws Exception
+ {
+ Project project = getContinuum().getProjectWithAllDetails( projectId );
+
+ scmUrl = project.getScmUrl();
+ scmUsername = project.getScmUsername();
+ scmPassword = project.getScmPassword();
+
+ releaseId = "";
+ }
+
+ public String getReleaseId()
+ {
+ return releaseId;
+ }
+
+ public void setReleaseId( String releaseId )
+ {
+ this.releaseId = releaseId;
+ }
+
+ public String getScmUrl()
+ {
+ return scmUrl;
+ }
+
+ public void setScmUrl( String scmUrl )
+ {
+ this.scmUrl = scmUrl;
+ }
+
+ public String getScmUsername()
+ {
+ return scmUsername;
+ }
+
+ public void setScmUsername( String scmUsername )
+ {
+ this.scmUsername = scmUsername;
+ }
+
+ public String getScmPassword()
+ {
+ return scmPassword;
+ }
+
+ public void setScmPassword( String scmPassword )
+ {
+ this.scmPassword = scmPassword;
+ }
+
+ public String getScmTag()
+ {
+ return scmTag;
+ }
+
+ public void setScmTag( String scmTag )
+ {
+ this.scmTag = scmTag;
+ }
+
+ public String getScmTagBase()
+ {
+ return scmTagBase;
+ }
+
+ public void setScmTagBase( String scmTagBase )
+ {
+ this.scmTagBase = scmTagBase;
+ }
+
+ public String getGoals()
+ {
+ return goals;
+ }
+
+ public void setGoals( String goals )
+ {
+ this.goals = goals;
+ }
+
+ public boolean isUseReleaseProfile()
+ {
+ return useReleaseProfile;
+ }
+
+ public void setUseReleaseProfile( boolean useReleaseProfile )
+ {
+ this.useReleaseProfile = useReleaseProfile;
+ }
+
+ public ContinuumReleaseManagerListener getListener()
+ {
+ return listener;
+ }
+
+ public void setListener( ContinuumReleaseManagerListener listener )
+ {
+ this.listener = listener;
+ }
+
+ public ReleaseResult getResult()
+ {
+ return result;
+ }
+
+ public void setResult( ReleaseResult result )
+ {
+ this.result = result;
+ }
+
+ public int getProjectId()
+ {
+ return projectId;
+ }
+
+ public void setProjectId( int projectId )
+ {
+ this.projectId = projectId;
+ }
+}
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java Thu Sep 21 23:27:35 2006
@@ -0,0 +1,445 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
+import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
+import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.plugins.release.ReleaseResult;
+import org.apache.maven.plugins.release.versions.DefaultVersionInfo;
+import org.apache.maven.plugins.release.versions.VersionInfo;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @author Edwin Punzalan
+ *
+ * @plexus.component
+ * role="com.opensymphony.xwork.Action"
+ * role-hint="releasePrepare"
+ */
+public class ReleasePrepareAction
+ extends ContinuumActionSupport
+{
+ private int projectId;
+
+ private String releaseId;
+
+ private String name;
+
+ private String scmUsername;
+
+ private String scmPassword;
+
+ private String scmTag;
+
+ private String scmTagBase;
+
+ private List projects = new ArrayList();
+
+ private List projectKeys;
+
+ private List devVersions;
+
+ private List relVersions;
+
+ private String prepareGoals;
+
+ private ReleaseResult result;
+
+ private ContinuumReleaseManagerListener listener;
+
+ public String input()
+ throws Exception
+ {
+ Project project = getContinuum().getProject( projectId );
+ scmUsername = project.getScmUsername();
+ scmPassword = project.getScmPassword();
+ scmTag = project.getScmTag();
+ String scmUrl = project.getScmUrl();
+
+ //skip scm:provider in scm url
+ int idx = scmUrl.indexOf( ":", 4 ) + 1;
+ scmUrl = scmUrl.substring( idx );
+
+ if ( scmUrl.endsWith( "/trunk" ) )
+ {
+ scmTagBase = scmUrl.substring( 0 , scmUrl.lastIndexOf( "/trunk" ) ) + "/branches";
+ }
+ else
+ {
+ scmTagBase = scmUrl.substring( idx );
+ }
+ prepareGoals = "clean integration-test";
+
+ getReleasePluginParameters( project.getWorkingDirectory(), "pom.xml" );
+
+ processProject( project.getWorkingDirectory(), "pom.xml" );
+
+ return SUCCESS;
+ }
+
+ private void getReleasePluginParameters( String workingDirectory, String pomFilename )
+ throws Exception
+ {
+ MavenXpp3Reader pomReader = new MavenXpp3Reader();
+ Model model = pomReader.read( new FileReader( new File( workingDirectory, pomFilename ) ) );
+
+ if ( model.getBuild() != null && model.getBuild().getPlugins() != null )
+ {
+ for( Iterator plugins = model.getBuild().getPlugins().iterator(); plugins.hasNext(); )
+ {
+ Plugin plugin = (Plugin) plugins.next();
+
+ if ( plugin.getGroupId() != null && plugin.getGroupId().equals( "org.apache.maven.plugins" ) &&
+ plugin.getArtifactId() != null && plugin.getArtifactId().equals( "maven-release-plugin" ) )
+ {
+ Xpp3Dom dom = (Xpp3Dom) plugin.getConfiguration();
+
+ Xpp3Dom configuration = dom.getChild( "releaseLabel" );
+ if ( configuration != null )
+ {
+ scmTag = configuration.getValue();
+ }
+
+ configuration = dom.getChild( "tag" );
+ if ( configuration != null )
+ {
+ scmTag = configuration.getValue();
+ }
+
+ configuration = dom.getChild( "tagBase" );
+ if ( configuration != null )
+ {
+ scmTagBase = configuration.getValue();
+ }
+
+ configuration = dom.getChild( "preparationGoals" );
+ if ( configuration != null )
+ {
+ prepareGoals = configuration.getValue();
+ }
+ }
+ }
+ }
+ }
+
+ public String execute()
+ throws Exception
+ {
+ listener = new DefaultReleaseManagerListener();
+
+ Project project = getContinuum().getProject( projectId );
+
+ name = project.getName();
+ if ( name == null )
+ {
+ name = project.getArtifactId();
+ }
+
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ releaseId = releaseManager.prepare( project, getReleaseProperties(), getRelVersionMap(),
+ getDevVersionMap(), listener );
+
+ return SUCCESS;
+ }
+
+ public String viewResult()
+ throws Exception
+ {
+ result = (ReleaseResult) getContinuum().getReleaseManager().getReleaseResults().get( releaseId );
+
+ return "viewResult";
+ }
+
+ public String checkProgress()
+ throws Exception
+ {
+ String status;
+
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().get( releaseId );
+
+ if ( listener != null )
+ {
+ if ( listener.getState() == ContinuumReleaseManagerListener.FINISHED )
+ {
+ releaseManager.getListeners().remove( releaseId );
+
+ result = (ReleaseResult) releaseManager.getReleaseResults().get( releaseId );
+
+ status = "finished";
+ }
+ else
+ {
+ status = "inProgress";
+ }
+ }
+ else
+ {
+ throw new Exception( "There is no release on-going or finished with id: " + releaseId );
+ }
+
+ return status;
+ }
+
+ private void processProject( String workingDirectory, String pomFilename )
+ throws Exception
+ {
+ MavenXpp3Reader pomReader = new MavenXpp3Reader();
+ Model model = pomReader.read( new FileReader( new File( workingDirectory, pomFilename ) ) );
+
+ if ( model.getGroupId() == null )
+ {
+ model.setGroupId( model.getParent().getGroupId() );
+ }
+
+ if ( model.getVersion() == null )
+ {
+ model.setVersion( model.getParent().getVersion() );
+ }
+
+ setProperties( model );
+
+ for( Iterator modules = model.getModules().iterator(); modules.hasNext(); )
+ {
+ processProject( workingDirectory + "/" + modules.next().toString(), "pom.xml" );
+ }
+ }
+
+ private void setProperties( Model model )
+ throws Exception
+ {
+ Map params = new HashMap();
+
+ params.put( "key", model.getGroupId() + ":" + model.getArtifactId() );
+
+ if ( model.getName() == null )
+ {
+ model.setName( model.getArtifactId() );
+ }
+ params.put( "name", model.getName() );
+
+ VersionInfo version = new DefaultVersionInfo( model.getVersion() );
+
+ params.put( "release", version.getReleaseVersionString() );
+ params.put( "dev", version.getNextVersion().getSnapshotVersionString() );
+
+ projects.add( params );
+ }
+
+ private Map getDevVersionMap()
+ {
+ return getVersionMap( projectKeys, devVersions );
+ }
+
+ private Map getRelVersionMap()
+ {
+ return getVersionMap( projectKeys, relVersions );
+ }
+
+ private Map getVersionMap( List keys, List versions )
+ {
+ Map versionMap = new HashMap();
+
+ for ( int idx = 0; idx < keys.size(); idx++ )
+ {
+ String key = keys.get( idx ).toString();
+ String version = versions.get( idx ).toString();
+
+ versionMap.put( key, version );
+ }
+
+ return versionMap;
+ }
+
+ private Properties getReleaseProperties()
+ {
+ Properties p = new Properties();
+
+ if ( StringUtils.isNotEmpty( scmUsername ) )
+ {
+ p.setProperty( "username", scmUsername );
+ }
+
+ if ( StringUtils.isNotEmpty( scmPassword ) )
+ {
+ p.setProperty( "password", scmPassword );
+ }
+
+ p.setProperty( "tag", scmTag );
+ p.setProperty( "tagBase", scmTagBase );
+ p.setProperty( "prepareGoals", prepareGoals );
+
+ return p;
+ }
+
+ public List getProjectKeys()
+ {
+ return projectKeys;
+ }
+
+ public void setProjectKeys( List projectKeys )
+ {
+ this.projectKeys = projectKeys;
+ }
+
+ public List getDevVersions()
+ {
+ return devVersions;
+ }
+
+ public void setDevVersions( List devVersions )
+ {
+ this.devVersions = devVersions;
+ }
+
+ public List getRelVersions()
+ {
+ return relVersions;
+ }
+
+ public void setRelVersions( List relVersions )
+ {
+ this.relVersions = relVersions;
+ }
+
+ public int getProjectId()
+ {
+ return projectId;
+ }
+
+ public void setProjectId( int projectId )
+ {
+ this.projectId = projectId;
+ }
+
+ public String getScmUsername()
+ {
+ return scmUsername;
+ }
+
+ public void setScmUsername( String scmUsername )
+ {
+ this.scmUsername = scmUsername;
+ }
+
+ public String getScmPassword()
+ {
+ return scmPassword;
+ }
+
+ public void setScmPassword( String scmPassword )
+ {
+ this.scmPassword = scmPassword;
+ }
+
+ public String getScmTag()
+ {
+ return scmTag;
+ }
+
+ public void setScmTag( String scmTag )
+ {
+ this.scmTag = scmTag;
+ }
+
+ public String getScmTagBase()
+ {
+ return scmTagBase;
+ }
+
+ public void setScmTagBase( String scmTagBase )
+ {
+ this.scmTagBase = scmTagBase;
+ }
+
+ public List getProjects()
+ {
+ return projects;
+ }
+
+ public void setProjects( List projects )
+ {
+ this.projects = projects;
+ }
+
+ public ContinuumReleaseManagerListener getListener()
+ {
+ return listener;
+ }
+
+ public void setListener( DefaultReleaseManagerListener listener )
+ {
+ this.listener = listener;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getReleaseId()
+ {
+ return releaseId;
+ }
+
+ public void setReleaseId( String releaseId )
+ {
+ this.releaseId = releaseId;
+ }
+
+ public ReleaseResult getResult()
+ {
+ return result;
+ }
+
+ public void setResult( ReleaseResult result )
+ {
+ this.result = result;
+ }
+
+ public String getPrepareGoals()
+ {
+ return prepareGoals;
+ }
+
+ public void setPrepareGoals( String prepareGoals )
+ {
+ this.prepareGoals = prepareGoals;
+ }
+}
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java?view=diff&rev=448831&r1=448830&r2=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java Thu Sep 21 23:27:35 2006
@@ -71,7 +71,7 @@
projectName = project.getName();
- return "prompt";
+ return SUCCESS;
}
public String execute()
@@ -83,7 +83,14 @@
}
else if ( "perform".equals( goal ) )
{
- return "performRelease";
+ if ( "".equals( preparedReleaseId ) )
+ {
+ return "performReleaseFromScm";
+ }
+ else
+ {
+ return "performRelease";
+ }
}
else
{
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java Thu Sep 21 23:27:35 2006
@@ -0,0 +1,119 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.release.ContinuumReleaseManager;
+import org.apache.maven.plugins.release.config.ReleaseDescriptor;
+
+import java.util.Map;
+
+/**
+ * @author Edwin Punzalan
+ *
+ * @plexus.component
+ * role="com.opensymphony.xwork.Action"
+ * role-hint="releaseProjectGoal"
+ */
+public class ReleaseProjectGoalAction
+ extends ContinuumActionSupport
+{
+ private int projectId;
+
+ private int projectGroupId;
+
+ private String projectName;
+
+ private String preparedReleaseName;
+
+ private String preparedReleaseId;
+
+ public String execute()
+ throws Exception
+ {
+ Project project = getContinuum().getProjectWithAllDetails( projectId );
+
+ String releaseId = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
+
+ ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+ Map preparedReleases = releaseManager.getPreparedReleases();
+ if ( preparedReleases.containsKey( releaseId ) )
+ {
+ ReleaseDescriptor descriptor = (ReleaseDescriptor) preparedReleases.get( releaseId );
+
+ preparedReleaseName = descriptor.getReleaseVersions().get( releaseId ).toString();
+
+ preparedReleaseId = releaseId;
+ }
+
+ projectName = project.getName();
+
+ return SUCCESS;
+ }
+
+ public int getProjectId()
+ {
+ return projectId;
+ }
+
+ public void setProjectId( int projectId )
+ {
+ this.projectId = projectId;
+ }
+
+ public int getProjectGroupId()
+ {
+ return projectGroupId;
+ }
+
+ public void setProjectGroupId( int projectGroupId )
+ {
+ this.projectGroupId = projectGroupId;
+ }
+
+ public String getProjectName()
+ {
+ return projectName;
+ }
+
+ public void setProjectName( String projectName )
+ {
+ this.projectName = projectName;
+ }
+
+ public String getPreparedReleaseName()
+ {
+ return preparedReleaseName;
+ }
+
+ public void setPreparedReleaseName( String preparedReleaseName )
+ {
+ this.preparedReleaseName = preparedReleaseName;
+ }
+
+ public String getPreparedReleaseId()
+ {
+ return preparedReleaseId;
+ }
+
+ public void setPreparedReleaseId( String preparedReleaseId )
+ {
+ this.preparedReleaseId = preparedReleaseId;
+ }
+}
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerform-validation.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerform-validation.xml?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerform-validation.xml (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerform-validation.xml Thu Sep 21 23:27:35 2006
@@ -0,0 +1,11 @@
+<!DOCTYPE validators PUBLIC
+ "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
+ "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
+
+<validators>
+ <field name="goals">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.prepareGoals.required"/>
+ </field-validator>
+ </field>
+</validators>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerform-validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerformFromScm-validation.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerformFromScm-validation.xml?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerformFromScm-validation.xml (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerformFromScm-validation.xml Thu Sep 21 23:27:35 2006
@@ -0,0 +1,36 @@
+<!DOCTYPE validators PUBLIC
+ "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
+ "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
+
+<validators>
+ <field name="scmUrl">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmUrl.required"/>
+ </field-validator>
+ </field>
+ <field name="scmUsername">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmUsername.required"/>
+ </field-validator>
+ </field>
+ <field name="scmPassword">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmPassword.required"/>
+ </field-validator>
+ </field>
+ <field name="scmTag">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmTag.required"/>
+ </field-validator>
+ </field>
+ <field name="scmTagBase">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmTagBase.required"/>
+ </field-validator>
+ </field>
+ <field name="goals">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.prepareGoals.required"/>
+ </field-validator>
+ </field>
+</validators>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePerformAction-releasePerformFromScm-validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePrepareAction-releasePrepare-validation.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePrepareAction-releasePrepare-validation.xml?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePrepareAction-releasePrepare-validation.xml (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePrepareAction-releasePrepare-validation.xml Thu Sep 21 23:27:35 2006
@@ -0,0 +1,31 @@
+<!DOCTYPE validators PUBLIC
+ "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
+ "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
+
+<validators>
+ <field name="scmUsername">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmUsername.required"/>
+ </field-validator>
+ </field>
+ <field name="scmPassword">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmPassword.required"/>
+ </field-validator>
+ </field>
+ <field name="scmTag">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmTag.required"/>
+ </field-validator>
+ </field>
+ <field name="scmTagBase">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.scmTagBase.required"/>
+ </field-validator>
+ </field>
+ <field name="prepareGoals">
+ <field-validator type="requiredstring">
+ <message key="releasePrepareAction.prepareGoals.required"/>
+ </field-validator>
+ </field>
+</validators>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ReleasePrepareAction-releasePrepare-validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml?view=diff&rev=448831&r1=448830&r2=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/resources/xwork.xml Thu Sep 21 23:27:35 2006
@@ -302,43 +302,77 @@
<!--
- continuum release
-->
+ <action name="releasePromptGoal" class="releaseProject" method="promptReleaseGoal">
+ <result name="success">releaseProject.jsp</result>
+ </action>
+
<action name="releaseProject" class="releaseProject">
- <result name="prompt">releaseProject.jsp</result>
<result name="prepareRelease" type="redirect-action">
- <param name="actionName">prepareRelease</param>
+ <param name="actionName">releasePrepareInput</param>
<param name="projectId">${projectId}</param>
</result>
<result name="performRelease" type="redirect-action">
- <param name="actionName">performRelease</param>
+ <param name="actionName">releasePerformInput</param>
<param name="projectId">${projectId}</param>
<param name="releaseId">${preparedReleaseId}</param>
</result>
+ <result name="performReleaseFromScm" type="redirect-action">
+ <param name="actionName">releasePerformFromScmInput</param>
+ <param name="projectId">${projectId}</param>
+ </result>
</action>
- <action name="prepareRelease" class="prepareRelease">
- <result name="prompt">prepareRelease.jsp</result>
- <result name="initialized" type="redirect-action">
- <param name="actionName">prepareRelease!checkProgress.action</param>
+ <action name="releasePrepareInput" class="releasePrepare" method="input">
+ <result name="success">releasePrepare.jsp</result>
+ </action>
+
+ <action name="releasePrepare" class="releasePrepare">
+ <result name="input" type="chain">prepareReleaseInput</result>
+ <result name="success" type="redirect-action">
+ <param name="actionName">releaseInProgress</param>
<param name="releaseId">${releaseId}</param>
<param name="projectId">${projectId}</param>
</result>
- <result name="inProgress">prepareReleaseProgress.jsp</result>
- <result name="finished">prepareReleaseFinished.jsp</result>
</action>
- <action name="performRelease" class="performRelease">
- <result name="prompt">performRelease.jsp</result>
- <result name="initialized" type="redirect-action">
- <param name="actionName">performRelease!checkProgress.action</param>
+ <action name="releasePerformInput" class="releasePerform" method="input">
+ <result name="success">releasePerform.jsp</result>
+ </action>
+
+ <action name="releasePerform" class="releasePerform">
+ <result name="input" type="chain">releasePerformInput</result>
+ <result name="success" type="redirect-action">
+ <param name="actionName">releaseInProgress</param>
<param name="releaseId">${releaseId}</param>
<param name="projectId">${projectId}</param>
</result>
- <result name="inProgress">performReleaseProgress.jsp</result>
- <result name="finished">performReleaseFinished.jsp</result>
</action>
- <action name="viewReleaseResult" class="viewReleaseResult">
- <result name="success">viewReleaseResult.jsp</result>
+ <action name="releasePerformFromScmInput" class="releasePerform" method="inputFromScm">
+ <result name="success">releasePerformFromScm.jsp</result>
+ </action>
+
+ <action name="releasePerformFromScm" class="releasePerform" method="executeFromScm">
+ <result name="input" type="chain">releasePerformFromScmInput</result>
+ <result name="success" type="redirect-action">
+ <param name="actionName">releaseInProgress</param>
+ <param name="projectId">${projectId}</param>
+ </result>
+ </action>
+
+ <action name="releaseInProgress" class="releaseInProgress">
+ <result name="initialized">releaseInitialized.jsp</result>
+ <result name="inProgress">releaseInProgress.jsp</result>
+ <result name="success">releaseFinished.jsp</result>
+ </action>
+
+ <action name="releaseCleanup" class="releaseCleanup">
+ <result name="prepareFinished" type="chain">releasePromptGoal</result>
+ <result name="performFinished" type="chain">groupSummary</result>
+ </action>
+
+ <action name="releaseViewResult" class="releaseInProgress" method="viewResult">
+ <result name="success">releaseViewResult.jsp</result>
</action>
</package>
Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp?view=diff&rev=448831&r1=448830&r2=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/components/projectSummaryComponent.jsp Thu Sep 21 23:27:35 2006
@@ -58,7 +58,7 @@
<ec:column property="releaseAction" title=" " width="1%" sortable="false">
<c:choose>
<c:when test="${pageScope.project.state == 2}">
- <ww:url id="releaseProjectUrl" action="releaseProject!promptReleaseGoal.action" namespace="/">
+ <ww:url id="releaseProjectUrl" action="releasePromptGoal" namespace="/">
<ww:param name="projectId" value="${project.id}"/>
</ww:url>
<ww:a href="%{releaseProjectUrl}">
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseFinished.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseFinished.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseFinished.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseFinished.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,58 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ </head>
+ <body>
+ <h2><ww:text name="prepareReleaseFinished.section.title"/></h2>
+ <h3><ww:property value="name"/></h3>
+ <ww:form action="releaseCleanup" method="post">
+ <ww:hidden name="projectId"/>
+ <ww:hidden name="releaseId"/>
+ <div class="axial">
+ <table width="100%">
+ <tr>
+ <th><ww:text name="releaseProject.status"/></th>
+ <th width="100%"><ww:text name="releaseProject.phase"/></th>
+ </tr>
+ <ww:iterator value="listener.phases">
+ <tr>
+ <td>
+ <ww:if test="listener.completedPhases.contains( top )">
+ <img src="<ww:url value='/images/icon_success_sml.gif'/>"
+ alt="Done" title="Done" border="0">
+ </ww:if>
+ <ww:elseif test="listener.inProgress.equals( top )">
+ <ww:if test="listener.error == null">
+ <img src="<ww:url value='/images/building.gif'/>"
+ alt="In Progress" title="In Progress" border="0">
+ </ww:if>
+ <ww:else>
+ <img src="<ww:url value='/images/icon_error_sml.gif'/>"
+ alt="Error" title="Error" border="0">
+ </ww:else>
+ </ww:elseif>
+ <ww:else>
+ <img src="<ww:url value='/images/inqueue.gif'/>"
+ alt="Queued" title="Queued" border="0">
+ </ww:else>
+ </td>
+ <td><ww:property/></td>
+ </tr>
+ </ww:iterator>
+ </table>
+ </div>
+
+ <p>
+ <ww:url id="releaseViewResultUrl" action="releaseViewResult" namespace="/">
+ <ww:param name="releaseId" value="releaseId"/>
+ </ww:url>
+ <ww:a href="%{releaseViewResultUrl}"><ww:text name="releaseProject.viewOutput"/></ww:a>
+ </p>
+
+ <ww:submit value="Done"/>
+ </ww:form>
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseFinished.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInProgress.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInProgress.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInProgress.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInProgress.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,51 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ <meta http-equiv="refresh" content="10;url=<ww:url includeParams="all" />"/>
+ </head>
+ <body>
+ <h2><ww:text name="prepareReleaseProgress.section.title"/></h2>
+ <h3><ww:property value="name"/></h3>
+ <ww:form action="releaseInProgress" method="get">
+ <ww:hidden name="projectId"/>
+ <ww:hidden name="releaseId"/>
+ <div class="axial">
+ <table width="100%">
+ <tr>
+ <th><ww:text name="releaseProject.status"/></th>
+ <th width="100%"><ww:text name="releaseProject.phase"/></th>
+ </tr>
+ <ww:iterator value="listener.phases">
+ <tr>
+ <td>
+ <ww:if test="listener.completedPhases.contains( top )">
+ <img src="<ww:url value='/images/icon_success_sml.gif'/>"
+ alt="Done" title="Done" border="0">
+ </ww:if>
+ <ww:elseif test="listener.inProgress.equals( top )">
+ <ww:if test="listener.error == null">
+ <img src="<ww:url value='/images/building.gif'/>"
+ alt="In Progress" title="In Progress" border="0">
+ </ww:if>
+ <ww:else>
+ <img src="<ww:url value='/images/icon_error_sml.gif'/>"
+ alt="Error" title="Error" border="0">
+ </ww:else>
+ </ww:elseif>
+ <ww:else>
+ <img src="<ww:url value='/images/inqueue.gif'/>"
+ alt="Queued" title="Queued" border="0">
+ </ww:else>
+ </td>
+ <td><ww:property/></td>
+ </tr>
+ </ww:iterator>
+ </table>
+ </div>
+ <ww:submit value="Refresh"/>
+ </ww:form>
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInProgress.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInitialized.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInitialized.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInitialized.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInitialized.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,24 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ <meta http-equiv="refresh" content="10;url=<ww:url includeParams="all" />"/>
+ </head>
+ <body>
+ <h2><ww:text name="prepareReleaseProgress.section.title"/></h2>
+ <h3><ww:property value="name"/></h3>
+ <ww:form action="releaseInProgress" method="get">
+ <ww:hidden name="projectId"/>
+ <ww:hidden name="releaseId"/>
+ <p>
+ The release goal is currently initializing...
+ </p>
+ <p>
+ Please wait while the server prepares your project for release.
+ </p>
+ <ww:submit value="Refresh"/>
+ </ww:form>
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseInitialized.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerform.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerform.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerform.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerform.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,23 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ </head>
+ <body>
+ <h2>Perform Project Release</h2>
+ <ww:form action="releasePerform" method="post" validate="true">
+ <h3>Release Perform Parameters</h3>
+ <ww:hidden name="projectId"/>
+ <ww:hidden name="releaseId"/>
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <ww:textfield label="Maven Arguments" name="goals" value="clean deploy"/>
+ <ww:checkbox label="Use Release Profile" name="useReleaseProfile" value="true"/>
+ </table>
+ </div>
+ <ww:submit/>
+ </ww:form>
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerform.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerformFromScm.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerformFromScm.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerformFromScm.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerformFromScm.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,28 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ </head>
+ <body>
+ <h2>Perform Project Release</h2>
+ <ww:form action="releasePerformFromScm" method="post" validate="true">
+ <h3>Release Perform Parameters</h3>
+ <ww:hidden name="projectId"/>
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <ww:textfield label="SCM Connection URL" name="scmUrl"/>
+ <ww:textfield label="SCM Username" name="scmUsername"/>
+ <ww:textfield label="SCM Password" name="scmPassword"/>
+ <ww:textfield label="SCM Tag" name="scmTag"/>
+ <ww:textfield label="SCM Tag Base" name="scmTagBase"/>
+ <ww:textfield label="Maven Arguments" name="goals" value="clean deploy"/>
+ <ww:checkbox label="Use Release Profile" name="useReleaseProfile" value="true"/>
+ </table>
+ </div>
+ <ww:submit/>
+ </ww:form>
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePerformFromScm.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePrepare.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePrepare.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePrepare.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePrepare.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,50 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ <ww:head />
+ </head>
+ <body>
+ <h2><ww:text name="prepareRelease.section.title"/></h2>
+ <ww:form action="releasePrepare" method="post" validate="true">
+ <h3><ww:text name="prepareRelease.releaseParameters"/></h3>
+ <input type="hidden" name="projectId" value="<ww:property value="projectId"/>"/>
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <ww:textfield label="SCM Username" name="scmUsername"/>
+ <ww:textfield label="SCM Password" name="scmPassword"/>
+ <ww:textfield label="SCM Tag" name="scmTag"/>
+ <ww:textfield label="SCM Tag Base" name="scmTagBase"/>
+ <ww:textfield label="Preparation Goals" name="prepareGoals"/>
+ </table>
+ </div>
+
+ <ww:iterator value="projects">
+ <h3><ww:property value="name"/></h3>
+ <input type="hidden" name="projectKeys" value="<ww:property value="key"/>">
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <tr>
+ <th><ww:text name="prepareRelease.releaseVersion"/></th>
+ <td>
+ <input type=text name="relVersions"
+ value="<ww:property value="release"/>" size="100">
+ </td>
+ </tr>
+ <tr>
+ <th><ww:text name="prepareRelease.nextDevelopmentVersion"/></th>
+ <td>
+ <input type=text name="devVersions"
+ value="<ww:property value="dev"/>" size="100">
+ </td>
+ </tr>
+ </table>
+ </div>
+ </ww:iterator>
+
+ <ww:submit/>
+ </ww:form>
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releasePrepare.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseViewResult.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseViewResult.jsp?view=auto&rev=448831
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseViewResult.jsp (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseViewResult.jsp Thu Sep 21 23:27:35 2006
@@ -0,0 +1,47 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<%@ taglib uri="continuum" prefix="c1" %>
+<html>
+ <ww:i18n name="localization.Continuum">
+ <head>
+ <title><ww:text name="releaseProject.page.title"/></title>
+ </head>
+ <body>
+ <h2><ww:text name="viewReleaseResult.section.title"/></h2>
+
+ <h4><ww:text name="viewReleaseResult.summary"/></h4>
+ <div class="axial">
+ <table border="1" cellspacing="2" cellpadding="3" width="100%">
+ <c1:data label="%{getText('buildResult.startTime')}">
+ <ww:param name="after"><c1:date name="result.startTime"/></ww:param>
+ </c1:data>
+ <c1:data label="%{getText('buildResult.endTime')}">
+ <ww:param name="after"><c1:date name="result.endTime"/></ww:param>
+ </c1:data>
+ <c1:data label="%{getText('buildResult.state')}">
+ <ww:param name="after">
+ <ww:if test="result.resultCode == 0">
+ <ww:text name="viewReleaseResult.success"/>
+ </ww:if>
+ <ww:else>
+ <ww:text name="viewReleaseResult.error"/>
+ </ww:else>
+ </ww:param>
+ </c1:data>
+ </table>
+ </div>
+
+ <h4><ww:text name="viewReleaseResult.output"/></h4>
+ <p>
+ <ww:if test="result.output == ''">
+ <ww:text name="buildResult.noOutput"/>
+ </ww:if>
+ <ww:else>
+ <div style="width:100%; height:500px; overflow:auto; border-style: solid; border-width: 1px">
+ <pre><ww:property value="result.output"/></pre>
+ </div>
+ </ww:else>
+ </p>
+
+ </body>
+ </ww:i18n>
+</html>
Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/webapp/releaseViewResult.jsp
------------------------------------------------------------------------------
svn:eol-style = native