You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2008/10/29 05:16:22 UTC
svn commit: r708765 [4/7] - in
/continuum/branches/continuum-transient-state: ./ continuum-api/
continuum-api/src/main/java/org/apache/continuum/configuration/
continuum-api/src/main/java/org/apache/continuum/dao/
continuum-api/src/main/java/org/apache...
Modified: continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java (original)
+++ continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java Tue Oct 28 21:16:12 2008
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.dao.ContinuumReleaseResultDao;
import org.apache.continuum.dao.DaoUtils;
import org.apache.continuum.dao.DirectoryPurgeConfigurationDao;
import org.apache.continuum.dao.InstallationDao;
@@ -31,6 +32,7 @@
import org.apache.continuum.dao.ScheduleDao;
import org.apache.continuum.dao.SystemConfigurationDao;
import org.apache.continuum.model.project.ProjectScmRoot;
+import org.apache.continuum.model.release.ContinuumReleaseResult;
import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
import org.apache.continuum.model.repository.LocalRepository;
import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
@@ -86,7 +88,9 @@
protected SystemConfigurationDao systemConfigurationDao;
protected ProjectScmRootDao projectScmRootDao;
-
+
+ protected ContinuumReleaseResultDao releaseResultDao;
+
protected ProjectGroup defaultProjectGroup;
protected ProjectGroup testProjectGroup2;
@@ -136,7 +140,7 @@
protected DirectoryPurgeConfiguration testDirectoryPurgeConfig;
protected ProjectScmRoot testProjectScmRoot;
-
+
private SystemConfiguration systemConfiguration;
@Override
@@ -166,8 +170,10 @@
scheduleDao = (ScheduleDao) lookup( ScheduleDao.class.getName() );
systemConfigurationDao = (SystemConfigurationDao) lookup( SystemConfigurationDao.class.getName() );
-
+
projectScmRootDao = (ProjectScmRootDao) lookup( ProjectScmRootDao.class.getName() );
+
+ releaseResultDao = (ContinuumReleaseResultDao) lookup( ContinuumReleaseResultDao.class.getName() );
}
protected void createBuildDatabase()
@@ -1390,7 +1396,7 @@
return projectScmRoot;
}
-
+
protected static void assertProjectScmRootEquals( ProjectScmRoot expectedConfig, ProjectScmRoot actualConfig )
{
assertEquals( "compare project scm root - id", expectedConfig.getId(), actualConfig.getId() );
@@ -1401,6 +1407,35 @@
assertEquals( "compare project scm root - error", expectedConfig.getError(), actualConfig.getError() );
}
+ protected static ContinuumReleaseResult createTestContinuumReleaseResult( ProjectGroup group, Project project,
+ String releaseGoal, int resultCode,
+ long startTime, long endTime )
+ {
+ ContinuumReleaseResult releaseResult = new ContinuumReleaseResult();
+ releaseResult.setProjectGroup( group );
+ releaseResult.setProject( project );
+ releaseResult.setReleaseGoal( releaseGoal );
+ releaseResult.setResultCode( resultCode );
+ releaseResult.setStartTime( startTime );
+ releaseResult.setEndTime( endTime );
+
+ return releaseResult;
+ }
+
+ protected static void assertReleaseResultEquals( ContinuumReleaseResult expectedConfig,
+ ContinuumReleaseResult actualConfig )
+ {
+ assertEquals( "compare continuum release result - id", expectedConfig.getId(), actualConfig.getId() );
+ assertEquals( "compare continuum release result - releaseGoal", expectedConfig.getReleaseGoal(),
+ actualConfig.getReleaseGoal() );
+ assertEquals( "compare continuum release result - resultCode", expectedConfig.getResultCode(),
+ actualConfig.getResultCode() );
+ assertEquals( "compare continuum release result - startTime", expectedConfig.getStartTime(),
+ actualConfig.getStartTime() );
+ assertEquals( "compare continuum release result - endTime", expectedConfig.getEndTime(),
+ actualConfig.getEndTime() );
+ }
+
/**
* Setup JDO Factory
*
Modified: continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java (original)
+++ continuum/branches/continuum-transient-state/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java Tue Oct 28 21:16:12 2008
@@ -23,6 +23,7 @@
import org.apache.continuum.dao.BuildDefinitionTemplateDao;
import org.apache.continuum.dao.BuildResultDao;
import org.apache.continuum.model.project.ProjectScmRoot;
+import org.apache.continuum.model.release.ContinuumReleaseResult;
import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
import org.apache.continuum.model.repository.LocalRepository;
import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
@@ -1249,7 +1250,7 @@
assertRepositoryPurgeConfigurationEquals( testRepoPurgeConfiguration3, repoPurgeList.get( 1 ) );
assertDirectoryPurgeConfigurationEquals( testDirectoryPurgeConfig, dirPurgeList.get( 0 ) );
}
-
+
public void testAddProjectScmRoot()
throws Exception
{
@@ -1269,7 +1270,7 @@
assertProjectScmRootEquals( projectScmRoot, retrievedProjectScmRoot );
assertProjectGroupEquals( projectScmRoot.getProjectGroup(), retrievedProjectScmRoot.getProjectGroup() );
}
-
+
public void testRemoveProjectScmRoot()
throws Exception
{
@@ -1289,6 +1290,30 @@
assertEquals( "check # of project scm root", 0, projectScmRoots.size() );
}
+ public void testRemoveProjectWithReleaseResult()
+ throws Exception
+ {
+ Project project = projectDao.getProject( testProject1.getId() );
+ ProjectGroup group = project.getProjectGroup();
+
+ ContinuumReleaseResult releaseResult = createTestContinuumReleaseResult( group, project, "releaseGoal", 0, 0, 0 );
+ releaseResult = releaseResultDao.addContinuumReleaseResult( releaseResult );
+
+ List<ContinuumReleaseResult> releaseResults = releaseResultDao.getAllContinuumReleaseResults();
+ assertEquals( "check size of continuum release results", 1, releaseResults.size() );
+
+ ContinuumReleaseResult retrievedResult = releaseResults.get( 0 );
+ assertReleaseResultEquals( releaseResult, retrievedResult );
+ assertProjectGroupEquals( group, retrievedResult.getProjectGroup() );
+ assertProjectEquals( project, retrievedResult.getProject() );
+
+ releaseResultDao.removeContinuumReleaseResult( releaseResult );
+ projectDao.removeProject( project );
+ assertFalse( projectDao.getProjectsInGroup( group.getId() ).contains( project ) );
+
+ releaseResults = releaseResultDao.getAllContinuumReleaseResults();
+ assertEquals( "check size of continuum release results", 0, releaseResults.size() );
+ }
// ----------------------------------------------------------------------
// HELPER METHODS
// ----------------------------------------------------------------------
Modified: continuum/branches/continuum-transient-state/continuum-test/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-test/pom.xml?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-test/pom.xml (original)
+++ continuum/branches/continuum-transient-state/continuum-test/pom.xml Tue Oct 28 21:16:12 2008
@@ -21,7 +21,7 @@
<parent>
<artifactId>continuum</artifactId>
<groupId>org.apache.continuum</groupId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>continuum-test</artifactId>
Modified: continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java (original)
+++ continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java Tue Oct 28 21:16:12 2008
@@ -132,6 +132,8 @@
configurationService.setWorkingDirectory( getTestFile( "target/working-directory" ) );
+ configurationService.setReleaseOutputDirectory( getTestFile( "target/release-outpur" ) );
+
configurationService.store();
}
Modified: continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/configuration/ConfigurationServiceMock.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/configuration/ConfigurationServiceMock.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/configuration/ConfigurationServiceMock.java (original)
+++ continuum/branches/continuum-transient-state/continuum-test/src/main/java/org/apache/maven/continuum/configuration/ConfigurationServiceMock.java Tue Oct 28 21:16:12 2008
@@ -207,4 +207,37 @@
}
+ public File getReleaseOutputDirectory()
+ {
+ return new File( basedir, "src/test/resources" + "/" + "release-output-directory" );
+ }
+
+ public File getReleaseOutputDirectory( int projectGroupId )
+ {
+ return new File( getReleaseOutputDirectory(), Integer.toString( projectGroupId ) );
+ }
+
+ public File getReleaseOutputFile( int projectGroupId, String releaseName )
+ throws ConfigurationException
+ {
+ File dir = getReleaseOutputDirectory( projectGroupId );
+
+ if ( !dir.exists() && !dir.mkdirs() )
+ {
+ throw new ConfigurationException(
+ "Could not make the release output directory: " + "'" + dir.getAbsolutePath() + "'." );
+ }
+
+ return new File( dir, releaseName + ".log.txt" );
+ }
+
+ public void setReleaseOutputDirectory( File releaseOutputDirectory )
+ {
+ }
+
+ public String getReleaseOutput( int projectGroupId, String name )
+ {
+ return null;
+ }
+
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp-test/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp-test/pom.xml?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp-test/pom.xml (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp-test/pom.xml Tue Oct 28 21:16:12 2008
@@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.continuum</groupId>
<artifactId>continuum</artifactId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<artifactId>continuum-webapp-test</artifactId>
<name>Continuum Webapp Test</name>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/pom.xml?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/pom.xml (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/pom.xml Tue Oct 28 21:16:12 2008
@@ -21,7 +21,7 @@
<parent>
<artifactId>continuum</artifactId>
<groupId>org.apache.continuum</groupId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>continuum-webapp</artifactId>
@@ -516,6 +516,10 @@
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context-support</artifactId>
+ </dependency>
+ <dependency>
<groupId>jmock</groupId>
<artifactId>jmock</artifactId>
<scope>test</scope>
@@ -600,6 +604,26 @@
</plugin>
</plugins>
</build>
+ </profile>
+ <profile>
+ <!-- local dev settings use a file which is ignore in svn -->
+ <id>local-jetty-env</id>
+ <activation>
+ <file>
+ <exists>src/local-jettyenv.xml</exists>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <configuration>
+ <jettyEnvXml>src/local-jettyenv.xml</jettyEnvXml>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</profile>
</profiles>
</project>
Propchange: continuum/branches/continuum-transient-state/continuum-webapp/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Oct 28 21:16:12 2008
@@ -0,0 +1 @@
+local-jettyenv.xml
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractBuildDefinitionAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractBuildDefinitionAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractBuildDefinitionAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractBuildDefinitionAction.java Tue Oct 28 21:16:12 2008
@@ -19,16 +19,16 @@
* under the License.
*/
-import java.util.LinkedList;
-import java.util.List;
-
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.web.model.BuildDefinitionSummary;
+import java.util.LinkedList;
+import java.util.List;
+
/**
* @author <a href="mailto:olamy@apache.org">olamy</a>
- * @since 16 sept. 07
* @version $Id$
+ * @since 16 sept. 07
*/
public abstract class AbstractBuildDefinitionAction
extends ContinuumActionSupport
@@ -53,7 +53,7 @@
}
bds.setDescription( buildDefinition.getDescription() );
bds.setType( buildDefinition.getType() );
- bds.setAlwaysBuild( buildDefinition.isAlwaysBuild() );
+ bds.setAlwaysBuild( buildDefinition.isBuildFresh() || buildDefinition.isAlwaysBuild() );
return bds;
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenProjectAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenProjectAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenProjectAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenProjectAction.java Tue Oct 28 21:16:12 2008
@@ -19,15 +19,8 @@
* under the License.
*/
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.builddefinition.BuildDefinitionServiceException;
-import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
-import org.apache.maven.continuum.model.project.ProjectGroup;
-import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
-import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.codehaus.plexus.util.StringUtils;
-
import java.io.File;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@@ -35,6 +28,16 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.builddefinition.BuildDefinitionServiceException;
+import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
+import org.apache.maven.continuum.model.project.ProjectGroup;
+import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
+import org.codehaus.plexus.util.StringUtils;
+
/**
* Action to add a Maven project to Continuum, either Maven 1 or Maven 2.
*
@@ -136,14 +139,23 @@
{
try
{
- pom = pomFile.toURL().toString();
+ //pom = pomFile.toURL().toString();
checkProtocol = false;
+ // CONTINUUM-1897
+ // File.c copyFile to tmp one
+ File tmpPom = File.createTempFile( "continuum_tmp", "tmp" );
+ FileUtils.copyFile( pomFile, tmpPom );
+ pom = tmpPom.toURL().toString();
}
catch ( MalformedURLException e )
{
// if local file can't be converted to url it's an internal error
throw new RuntimeException( e );
}
+ catch ( IOException e )
+ {
+ throw new RuntimeException( e );
+ }
}
else
{
@@ -161,6 +173,13 @@
{
String cause = result.getErrorsWithCause().get( key );
String msg = getText( key, new String[] { cause } );
+
+ // olamy : weird getText(key, String[]) must do that something like bla bla {0}
+ // here an ugly hack for CONTINUUM-1675
+ if ( key.equals( ContinuumProjectBuildingResult.ERROR_MISSING_SCM ) )
+ {
+ msg = getResourceBundle().getString( key ) + " " + cause;
+ }
if ( !StringUtils.equals( msg, key ) )
{
errorMessages.add( msg );
@@ -169,7 +188,7 @@
{
addActionError( msg );
}
-
+
}
return doDefault();
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumActionSupport.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumActionSupport.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumActionSupport.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumActionSupport.java Tue Oct 28 21:16:12 2008
@@ -478,6 +478,12 @@
checkAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_QUEUES );
}
+ protected void checkManageLocalRepositoriesAuthorization()
+ throws AuthorizationRequiredException
+ {
+ checkAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_REPOSITORIES );
+ }
+
/**
* Get the security session
*
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java Tue Oct 28 21:16:12 2008
@@ -119,14 +119,18 @@
private int buildDefinitionId;
+ private boolean fromSummaryPage = false;
+
private String preferredExecutor = "maven2";
-
+
private String url;
private int repositoryId;
private List<LocalRepository> repositories;
+ private boolean disabledRepositories = true;
+
private List<ProjectScmRoot> projectScmRoots;
public String summary()
@@ -168,35 +172,35 @@
}
if ( projectGroup != null )
- {
+ {
if ( projectGroup.getProjects() != null && projectGroup.getProjects().size() > 0 )
{
int nbMaven2Projects = 0;
int nbMaven1Projects = 0;
int nbAntProjects = 0;
int nbShellProjects = 0;
-
+
// get the projects according to build order (first project in the group is the root project)
try
- {
- Project rootProject =
- ( getContinuum().getProjectsInBuildOrder( getContinuum().getProjectsInGroupWithDependencies(
- projectGroupId ) ) ).get( 0 );
- if( "maven2".equals( rootProject.getExecutorId() ) || "maven-1".equals( rootProject.getExecutorId() ) )
- {
- url = rootProject.getUrl();
- }
+ {
+ Project rootProject = ( getContinuum().getProjectsInBuildOrder(
+ getContinuum().getProjectsInGroupWithDependencies( projectGroupId ) ) ).get( 0 );
+ if ( "maven2".equals( rootProject.getExecutorId() ) ||
+ "maven-1".equals( rootProject.getExecutorId() ) )
+ {
+ url = rootProject.getUrl();
+ }
}
- catch ( CycleDetectedException e )
+ catch ( CycleDetectedException e )
{
// ignore. url won't be displayed if null
}
-
+
for ( Object o : projectGroup.getProjects() )
{
Project p = (Project) o;
if ( "maven2".equals( p.getExecutorId() ) )
- {
+ {
nbMaven2Projects += 1;
}
else if ( "maven-1".equals( p.getExecutorId() ) )
@@ -315,12 +319,22 @@
return REQUIRES_AUTHORIZATION;
}
+ try
+ {
+ checkManageLocalRepositoriesAuthorization();
+ disabledRepositories = false;
+ }
+ catch ( AuthorizationRequiredException authzE )
+ {
+ // do nothing
+ }
+
projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
name = projectGroup.getName();
description = projectGroup.getDescription();
-
+
projectList = projectGroup.getProjects();
if ( projectList != null )
@@ -342,10 +356,13 @@
while ( proj_group.hasNext() )
{
ProjectGroup pg = (ProjectGroup) proj_group.next();
- projectGroups.put( new Integer( pg.getId() ), pg.getName() );
+ if ( isAuthorized( projectGroup.getName() ) )
+ {
+ projectGroups.put( new Integer( pg.getId() ), pg.getName() );
+ }
}
- if ( projectGroup.getLocalRepository() != null)
+ if ( projectGroup.getLocalRepository() != null )
{
repositoryId = projectGroup.getLocalRepository().getId();
}
@@ -353,9 +370,19 @@
{
repositoryId = -1;
}
-
+
repositories = getContinuum().getRepositoryService().getAllLocalRepositories();
-
+
+ Collection<Project> projList = getContinuum().getProjectsInGroupWithDependencies( projectGroup.getId() );
+ if ( projList != null && projList.size() > 0 )
+ {
+ Project rootProject = ( getContinuum().getProjectsInBuildOrder( projList ) ).get( 0 );
+
+ if (rootProject != null)
+ {
+ setUrl( rootProject.getUrl() );
+ }
+ }
return SUCCESS;
}
@@ -424,7 +451,7 @@
}
projectGroup.setDescription( description );
-
+
if ( repositoryId > 0 )
{
LocalRepository repository = getContinuum().getRepositoryService().getLocalRepository( repositoryId );
@@ -434,9 +461,19 @@
{
projectGroup.setLocalRepository( null );
}
-
+
getContinuum().updateProjectGroup( projectGroup );
+ Collection<Project> projectList = getContinuum().getProjectsInGroupWithDependencies( projectGroupId );
+ if ( projectList != null && projectList.size() > 0 )
+ {
+ Project rootProject = ( getContinuum().getProjectsInBuildOrder( projectList ) ).get( 0 );
+
+ rootProject.setUrl( url );
+
+ getContinuum().updateProject( rootProject );
+ }
+
Iterator keys = projects.keySet().iterator();
while ( keys.hasNext() )
{
@@ -460,7 +497,7 @@
ProjectGroup newProjectGroup =
getContinuum().getProjectGroupWithProjects( new Integer( id[0] ).intValue() );
- if ( newProjectGroup.getId() != projectGroup.getId() )
+ if ( newProjectGroup.getId() != projectGroup.getId() && isAuthorized( newProjectGroup.getName() ) )
{
getLogger().info(
"Moving project " + project.getName() + " to project group " + newProjectGroup.getName() );
@@ -501,7 +538,15 @@
{
getContinuum().buildProjectGroupWithBuildDefinition( projectGroupId, buildDefinitionId );
}
- return SUCCESS;
+
+ if ( this.isFromSummaryPage() )
+ {
+ return "to_summary_page";
+ }
+ else
+ {
+ return SUCCESS;
+ }
}
public String release()
@@ -525,7 +570,7 @@
boolean allBuildsOk = true;
boolean allMavenTwo = true;
-
+
projectList = getContinuum().getProjectsInGroupWithDependencies( projectGroupId );
if ( projectList != null )
@@ -555,7 +600,7 @@
return INPUT;
}
}
-
+
if ( !"maven2".equals( p.getExecutorId() ) )
{
allMavenTwo = false;
@@ -907,6 +952,16 @@
this.buildDefinitionId = buildDefinitionId;
}
+ public boolean isFromSummaryPage()
+ {
+ return fromSummaryPage;
+ }
+
+ public void setFromSummaryPage( boolean fromSummaryPage )
+ {
+ this.fromSummaryPage = fromSummaryPage;
+ }
+
public String getPreferredExecutor()
{
return preferredExecutor;
@@ -951,4 +1006,27 @@
{
this.projectScmRoots = projectScmRoots;
}
+
+ public boolean isDisabledRepositories()
+ {
+ return disabledRepositories;
+ }
+
+ public void setDisabledRepositories( boolean disabledRepositories )
+ {
+ this.disabledRepositories = disabledRepositories;
+ }
+
+ private boolean isAuthorized( String projectGroupName )
+ {
+ try
+ {
+ checkAddProjectToGroupAuthorization( projectGroupName );
+ return true;
+ }
+ catch ( AuthorizationRequiredException authzE )
+ {
+ return false;
+ }
+ }
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java Tue Oct 28 21:16:12 2008
@@ -19,7 +19,16 @@
* under the License.
*/
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import org.apache.continuum.model.release.ContinuumReleaseResult;
import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.configuration.ConfigurationException;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.release.ContinuumReleaseManager;
import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
@@ -82,6 +91,17 @@
throw new Exception( "There is no on-going or finished release operation with id " + releaseId );
}
+ if ( status.equals( SUCCESS ) )
+ {
+ ReleaseResult result = (ReleaseResult) releaseManager.getReleaseResults().get( releaseId );
+
+ if ( result != null && getContinuum().getContinuumReleaseResult( projectId, releaseGoal, result.getStartTime(), result.getEndTime() ) == null )
+ {
+ ContinuumReleaseResult releaseResult = createContinuumReleaseResult( result );
+ getContinuum().addContinuumReleaseResult( releaseResult );
+ }
+ }
+
return status;
}
@@ -180,4 +200,41 @@
return projectGroupName;
}
+
+ private ContinuumReleaseResult createContinuumReleaseResult( ReleaseResult result )
+ throws ContinuumException
+ {
+ ContinuumReleaseResult releaseResult = new ContinuumReleaseResult();
+ releaseResult.setStartTime( result.getStartTime() );
+ releaseResult.setEndTime( result.getEndTime() );
+ releaseResult.setResultCode( result.getResultCode() );
+
+ Project project = getContinuum().getProject( projectId );
+ ProjectGroup projectGroup = project.getProjectGroup();
+ releaseResult.setProjectGroup( projectGroup );
+ releaseResult.setProject( project );
+ releaseResult.setReleaseGoal( releaseGoal );
+
+ String releaseName = "releases-" + result.getStartTime();
+
+ try
+ {
+ File logFile = getContinuum().getConfiguration().getReleaseOutputFile( projectGroup.getId(), releaseName );
+
+ PrintWriter writer = new PrintWriter( new FileWriter( logFile ) );
+ writer.write( result.getOutput() );
+ writer.close();
+ }
+ catch ( ConfigurationException e )
+ {
+ throw new ContinuumException( e.getMessage(), e );
+ }
+ catch ( IOException e )
+ {
+ throw new ContinuumException( "Unable to write output to file", e );
+ }
+
+ return releaseResult;
+ }
+
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java Tue Oct 28 21:16:12 2008
@@ -20,17 +20,19 @@
*/
import org.apache.continuum.model.repository.LocalRepository;
+import org.apache.continuum.release.config.ContinuumReleaseDescriptor;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.system.Profile;
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.continuum.web.exception.AuthorizationRequiredException;
import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
import org.apache.maven.shared.release.ReleaseResult;
-import org.apache.maven.shared.release.config.ReleaseDescriptor;
import java.io.File;
+import java.util.List;
/**
* @author Edwin Punzalan
@@ -63,6 +65,10 @@
private String projectGroupName = "";
+ private List<Profile> profiles;
+
+ private int profileId;
+
public String inputFromScm()
throws Exception
{
@@ -79,6 +85,8 @@
releaseId = "";
+ profiles = this.getContinuum().getProfileService().getAllProfiles();
+
return SUCCESS;
}
@@ -132,12 +140,20 @@
{
ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
- ReleaseDescriptor descriptor = new ReleaseDescriptor();
+ ContinuumReleaseDescriptor descriptor = new ContinuumReleaseDescriptor();
descriptor.setScmSourceUrl( scmUrl );
descriptor.setScmUsername( scmUsername );
descriptor.setScmPassword( scmPassword );
descriptor.setScmReleaseLabel( scmTag );
descriptor.setScmTagBase( scmTagBase );
+
+ Profile profile = null;
+
+ if ( profileId != -1 )
+ {
+ profile = getContinuum().getProfileService().getProfile( profileId );
+ descriptor.setEnvironments( releaseManager.getEnvironments( profile ) );
+ }
do
{
@@ -291,4 +307,25 @@
return projectGroupName;
}
+
+ public List<Profile> getProfiles()
+ {
+ return profiles;
+ }
+
+ public void setProfiles( List<Profile> profiles )
+ {
+ this.profiles = profiles;
+ }
+
+ public int getProfileId()
+ {
+ return profileId;
+ }
+
+ public void setProfileId( int profileId )
+ {
+ this.profileId = profileId;
+ }
+
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java Tue Oct 28 21:16:12 2008
@@ -21,6 +21,7 @@
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.system.Profile;
import org.apache.maven.continuum.release.ContinuumReleaseManager;
import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
@@ -85,6 +86,10 @@
private String projectGroupName = "";
+ private List<Profile> profiles;
+
+ private int profileId;
+
public String input()
throws Exception
{
@@ -138,6 +143,8 @@
processProject( workingDirectory, "pom.xml" );
+ profiles = this.getContinuum().getProfileService().getAllProfiles();
+
return SUCCESS;
}
@@ -210,11 +217,18 @@
{
name = project.getArtifactId();
}
+
+ Profile profile = null;
+
+ if ( profileId != -1 )
+ {
+ profile = getContinuum().getProfileService().getProfile( profileId );
+ }
ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
releaseId =
- releaseManager.prepare( project, getReleaseProperties(), getRelVersionMap(), getDevVersionMap(), listener );
+ releaseManager.prepare( project, getReleaseProperties(), getRelVersionMap(), getDevVersionMap(), listener, profile );
return SUCCESS;
}
@@ -526,4 +540,24 @@
return projectGroupName;
}
+
+ public List<Profile> getProfiles()
+ {
+ return profiles;
+ }
+
+ public void setProfiles( List<Profile> profiles )
+ {
+ this.profiles = profiles;
+ }
+
+ public int getProfileId()
+ {
+ return profileId;
+ }
+
+ public void setProfileId( int profileId )
+ {
+ this.profileId = profileId;
+ }
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java Tue Oct 28 21:16:12 2008
@@ -55,6 +55,8 @@
private String projectGroupName = "";
+ protected static final String REQUIRES_CONFIGURATION = "releaseOutputDir-required";
+
public String promptReleaseGoal()
throws Exception
{
@@ -67,6 +69,12 @@
return REQUIRES_AUTHORIZATION;
}
+ // check if releaseOutputDirectory is already set
+ if ( getContinuum().getConfiguration().getReleaseOutputDirectory() == null )
+ {
+ return REQUIRES_CONFIGURATION;
+ }
+
project = getContinuum().getProjectWithAllDetails( projectId );
String releaseId = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java Tue Oct 28 21:16:12 2008
@@ -46,6 +46,8 @@
private String projectGroupName = "";
+ private String releaseGoal;
+
public String execute()
throws Exception
{
@@ -129,4 +131,14 @@
return projectGroupName;
}
+
+ public String getReleaseGoal()
+ {
+ return releaseGoal;
+ }
+
+ public void setReleaseGoal( String releaseGoal )
+ {
+ this.releaseGoal = releaseGoal;
+ }
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigurationAction.java Tue Oct 28 21:16:12 2008
@@ -54,6 +54,10 @@
private String deploymentRepositoryDirectory;
private String baseUrl;
+
+ private String releaseOutputDirectory;
+
+ private boolean requireReleaseOutput;
public void prepare()
{
@@ -86,10 +90,24 @@
request.getContextPath();
getLogger().info( "baseUrl='" + baseUrl + "'" );
}
+
+ File releaseOutputDirectoryFile = configuration.getReleaseOutputDirectory();
+ if ( releaseOutputDirectoryFile != null )
+ {
+ releaseOutputDirectory = releaseOutputDirectoryFile.getAbsolutePath();
+ }
+
+ String requireRelease = ServletActionContext.getRequest().getParameter( "requireReleaseOutput" );
+ setRequireReleaseOutput( new Boolean( requireRelease ) );
}
public String input()
{
+ if ( isRequireReleaseOutput() )
+ {
+ addActionError( "configuration.releaseOutputDirectory.required" );
+ }
+
return INPUT;
}
@@ -115,6 +133,20 @@
configuration.setInitialized( true );
+ if ( StringUtils.isNotEmpty( releaseOutputDirectory ) )
+ {
+ configuration.setReleaseOutputDirectory( new File( releaseOutputDirectory ) );
+ }
+ else if ( isRequireReleaseOutput() )
+ {
+ addActionError( "configuration.releaseOutputDirectory.required" );
+ return ERROR;
+ }
+ else
+ {
+ configuration.setReleaseOutputDirectory( null );
+ }
+
configuration.store();
return SUCCESS;
@@ -169,4 +201,24 @@
return bundle;
}
+
+ public String getReleaseOutputDirectory()
+ {
+ return releaseOutputDirectory;
+ }
+
+ public void setReleaseOutputDirectory( String releaseOutputDirectory )
+ {
+ this.releaseOutputDirectory = releaseOutputDirectory;
+ }
+
+ public boolean isRequireReleaseOutput()
+ {
+ return requireReleaseOutput;
+ }
+
+ public void setRequireReleaseOutput( boolean requireReleaseOutput )
+ {
+ this.requireReleaseOutput = requireReleaseOutput;
+ }
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java Tue Oct 28 21:16:12 2008
@@ -37,6 +37,7 @@
import org.codehaus.plexus.redback.xwork.interceptor.SecureActionBundle;
import org.codehaus.plexus.redback.xwork.interceptor.SecureActionException;
+import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.Preparable;
/**
@@ -70,6 +71,8 @@
private List<Installation> profileInstallations;
+ private String message;
+
// -------------------------------------------------------
// Webwork Methods
// -------------------------------------------------------
@@ -84,6 +87,13 @@
public String list()
throws Exception
{
+ String errorMessage = ServletActionContext.getRequest().getParameter( "errorMessage" );
+
+ if ( errorMessage != null )
+ {
+ addActionError( errorMessage );
+ }
+
this.profiles = profileService.getAllProfiles();
return SUCCESS;
}
@@ -106,7 +116,7 @@
{
Profile stored = profileService.getProfile( profile.getId() );
- if ( StringUtils.isEmpty( profile.getName() ) )
+ if ( StringUtils.isBlank( profile.getName() ) )
{
if ( stored != null )
{
@@ -150,9 +160,17 @@
public String delete()
throws Exception
{
- profileService.deleteProfile( profile.getId() );
- this.profiles = profileService.getAllProfiles();
- return SUCCESS;
+ try
+ {
+ profileService.deleteProfile( profile.getId() );
+ this.profiles = profileService.getAllProfiles();
+ return SUCCESS;
+ }
+ catch ( ProfileException e )
+ {
+ message = "profile.remove.error";
+ return ERROR;
+ }
}
public String confirmDelete()
@@ -283,4 +301,14 @@
{
this.installationId = installationId;
}
+
+ public String getMessage()
+ {
+ return message;
+ }
+
+ public void setMessage( String message )
+ {
+ this.message = message;
+ }
}
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Tue Oct 28 21:16:12 2008
@@ -57,7 +57,8 @@
<role>org.apache.continuum.dao.BuildResultDao</role>
</requirement>
<requirement>
- <role>org.codehaus.plexus.mailsender.MailSender</role>
+ <role>mailSender</role>
+ <role-hint>continuum</role-hint>
</requirement>
<requirement>
<role>org.apache.maven.continuum.configuration.ConfigurationService</role>
@@ -98,22 +99,16 @@
<includeTestSummary>true</includeTestSummary>
<includeOutput>false</includeOutput>
<alwaysSend>false</alwaysSend>
- </configuration>
- </component>
-
- <component>
- <role>org.codehaus.plexus.notification.RecipientSource</role>
- <implementation>org.apache.maven.continuum.notification.ContinuumRecipientSource</implementation>
- <configuration>
<!--
Setting this propery will make Continuum send all emails to
this address instead the address specified in the project
configuration
- -->
- <to-override></to-override>
+ -->
+ <toOverride></toOverride>
</configuration>
</component>
-
+
+ <!-- TODO remove when redback will not use anymore plexus-mail -->
<component>
<role>org.codehaus.plexus.mailsender.MailSender</role>
<implementation>org.codehaus.plexus.mailsender.javamail.JndiJavamailMailSender</implementation>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum.properties Tue Oct 28 21:16:12 2008
@@ -170,6 +170,7 @@
projectGroup.release.error.projectNotInSuccess = Cannot release project group: one or more projects in the group were not built successfully.
projectGroup.deleteGroup = Delete Group
projectGroup.buildGroup = Build all projects
+projectGroup.buildGroupNow = Build Group Now
projectGroup.deleteProjects = Delete Project(s)
projectGroup.buildProjects = Build Project(s)
projectGroup.cancelBuilds = Cancel Build(s)
@@ -179,7 +180,9 @@
projectGroup.buildsStatut.success = Success
projectGroup.buildDefinition.label = Default Build Definition
projectGroup.addProject.label = Add New Project
+projectGroup.releaseNow = Release Group
projectGroup.repository.label = Local Repository
+projectGroup.tab.releaseResults = Release Results
projectGroup.scmRoot.title = Project Group Scm Root
projectGroup.scmRoot.label = Scm Root URL
@@ -236,6 +239,9 @@
configuration.companyName.message = Enter the company name
configuration.companyLogo.message = Enter the company logo
configuration.companyUrl.message = Enter the URL of the official company website
+configuration.releaseOutputDirectory.label = Release Output Directory
+configuration.releaseOutputDirectory.message = Enter the release output directory of the Continuum web application
+configuration.releaseOutputDirectory.required = You must define a release output directory
# ----------------------------------------------------------------------
# Page: Add Project
@@ -252,7 +258,7 @@
add.project.missing.version.error = Missing ''version'' element in the POM.
add.project.missing.name.error = Missing ''name'' element in the POM.
add.project.missing.repository.error = Missing ''repository'' element in the POM.
-add.project.missing.scm.error = Missing ''scm'' element in the POM, projet {0}
+add.project.missing.scm.error = Missing ''scm'' element in the POM, project
add.project.missing.scm.connection.error = Missing ''connection'' sub-element in the ''scm'' element in the POM.
add.project.missing.notifier.type.error = Missing ''type'' sub-element in the ''notifier'' element in the POM.
add.project.missing.notifier.configuration.error = Missing ''configuration'' sub-element in the ''notifier'' element in the POM.
@@ -652,6 +658,22 @@
releaseViewResult.error=ERROR
releaseViewResult.output=Release Execution Output
releaseViewResult.noOutput=No Output
+releaseViewResult.projectName=Project Name
+releaseViewResult.releaseGoal=Release Goal
+releasePrepare.scmUsername.label=SCM Username
+releasePrepare.scmPassword.label=SCM Password
+releasePrepare.scmTag.label=SCM Tag
+releasePrepare.scmTagBase.label=SCM Tag Base
+releasePrepare.prepareGoals.label=Preparation Goals
+releasePrepare.buildEnvironment.label=Build Environment
+releasePerformFromScm.scmUrl.label=SCM Connection URL
+releasePerformFromScm.scmUsername.label=SCM Username
+releasePerformFromScm.scmPassword.label=SCM Password
+releasePerformFromScm.scmTag.label=SCM Tag
+releasePerformFromScm.scmTagBase.label=SCM Tag Base
+releasePerformFromScm.goals.label=Maven Arguments
+releasePerformFromScm.useReleaseProfile.label=Use Release Profile
+releasePerformFromScm.buildEnvironment.label=Build Environment
# ----------------------------------------------------------------------
# Page: User
@@ -695,6 +717,7 @@
profile.no.installations = No installations available
profile.name.already.exists = A Build Environment with the same name already exists
profile.name.required = You must define a name.
+profile.remove.error = The Build Environment can't be removed, it is probably used by a build definition.
# ----------------------------------------------------------------------
# Page: Installations List
@@ -896,6 +919,27 @@
purgeConfig.enabled.label = Enabled
purgeConfig.no.repositories = No repositories to purge
+
+# ----------------------------------------------------------------------
+# Page: Release Results
+# ----------------------------------------------------------------------
+projectGroup.releaseResults.section.title = Release Results of {0} group
+releaseResults.viewResult = View Result
+releaseResults.state = State
+releaseResults.startTime = Start Time
+releaseResults.endTime = End Time
+releaseResults.success = SUCCESSFUL
+releaseResults.error = ERROR
+releaseResults.project = Project Name
+releaseResults.releaseGoal = Release Goal
+
+# ----------------------------------------------------------------------
+# Page: Confirm Delete Release Results
+# ----------------------------------------------------------------------
+deleteReleaseResults.page.title = Continuum - Delete Release Results
+deleteReleaseResults.section.title = Delete Release Results
+deleteReleaseResults.confirmation.message = Are you sure you want to delete {0} release results ?
+
# ----------------------------------------------------------------------
# Page: ScmResult
# ----------------------------------------------------------------------
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_fr.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_fr.properties?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_fr.properties (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_fr.properties Tue Oct 28 21:16:12 2008
@@ -166,6 +166,7 @@
projectGroup.release.error.projectNotInSuccess = Ne peut pas faire la "release" du groupe de projet : un ou plusieurs projets dans le groupe n''ont pas pu \u00eatre construit avec succ\u00e8s.
projectGroup.deleteGroup = Supprimer groupe
projectGroup.buildGroup = Construire tous les projets
+projectGroup.buildGroupNow = Construire le groupe maintenant
projectGroup.deleteProjects = Supprimer projet(s)
projectGroup.buildProjects = Construire projet(s)
projectGroup.cancelBuilds = Annuler construction(s)
@@ -175,6 +176,7 @@
projectGroup.buildsStatut.success = Succ\u00e8s
projectGroup.buildDefinition.label = D\u00e9finitions de la construction par d\u00e9fault
projectGroup.addProject.label = Ajouter un nouveau projet
+projectGroup.releaseNow = Release du groupe
# ----------------------------------------------------------------------
# Page: Project Group - Members
@@ -245,7 +247,7 @@
add.project.missing.version.error = L''\u00e9l\u00e9ment "version" est manquant dans le fichier POM.
add.project.missing.name.error = L''\u00e9l\u00e9ment "name" est manquant dans le fichier POM.
add.project.missing.repository.error = L''\u00e9l\u00e9ment "repository" est manquant dans le fichier POM.
-add.project.missing.scm.error = L''\u00e9l\u00e9ment "scm" est manquant dans le fichier POM, projet {0}
+add.project.missing.scm.error = L''\u00e9l\u00e9ment "scm" est manquant dans le fichier POM, projet
add.project.missing.scm.connection.error = Le sous-\u00e9l\u00e9ment "connection est manquant dans le fichier POM.
add.project.missing.notifier.type.error = Le sous-\u00e9l\u00e9ment "type" dans l''\u00e9l\u00e9ment "notifier" est manquant dans le fichier POM.
add.project.missing.notifier.configuration.error = Le sous-\u00e9l\u00e9ment "configuration" dans l'\u00e9l\u00e9ment "notifier" est manquant dans le fichier POM.
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties Tue Oct 28 21:16:12 2008
@@ -77,7 +77,7 @@
add.project.missing.pom.error = Arquivo POM n\u00E3o existe. Talvez o POM que voc\u00EA especificou ou um de seus m\u00F3dulos n\u00E3o existam.
add.project.missing.repository.error = Falta elemento ''repository'' no POM.
add.project.missing.scm.connection.error = Falta sub-elemento ''connection'' no elemento ''scm'' no POM.
-add.project.missing.scm.error = Falta o elemento ''scm'' no POM, projet {0}
+add.project.missing.scm.error = Falta o elemento ''scm'' no POM, projet
add.project.missing.version.error = Falta o elemento ''version'' no POM.
add.project.nogroup.error = Nenhum grupo de projeto foi fornecido.
add.project.project.building.error = Erro desconhecido ao realizar build do POM.
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction.properties?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction.properties (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction.properties Tue Oct 28 21:16:12 2008
@@ -20,4 +20,4 @@
configuration.workingDirectory.required = You must define a working directory.
configuration.buildOutputDirectory.required = You must define a build output directory.
configuration.baseUrl.required = You must define a URL.
-configuration.baseUrl.invalid = You must define a valid URL.
+configuration.baseUrl.invalid = You must define a valid URL.
\ No newline at end of file
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/xwork.xml?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/xwork.xml (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/resources/xwork.xml Tue Oct 28 21:16:12 2008
@@ -178,7 +178,11 @@
<action name="addMavenTwoProject" class="addMavenTwoProject">
<interceptor-ref name="configuredContinuumStack"/>
- <interceptor-ref name="execAndWait"/>
+ <interceptor-ref name="fileUpload"/>
+ <interceptor-ref name="execAndWait">
+ <param name="delay">200</param>
+ <param name="delaySleepInterval">50</param>
+ </interceptor-ref>
<result name="wait">/WEB-INF/jsp/navigations/wait.jsp</result>
<result name="input">/WEB-INF/jsp/addMavenTwoProject.jsp</result>
<result name="success" type="chain">groupSummary</result>
@@ -315,6 +319,7 @@
<param name="actionName">projectGroupSummary</param>
<param name="projectGroupId">${projectGroupId}</param>
</result>
+ <result name="to_summary_page" type="chain">groupSummary</result>
</action>
<action name="removeProjectGroup" class="projectGroup" method="remove">
@@ -449,6 +454,12 @@
-->
<action name="releasePromptGoal" class="releaseProject" method="promptReleaseGoal">
<result name="success">/WEB-INF/jsp/releaseProject.jsp</result>
+ <result name="releaseOutputDir-required" type="redirect-action">
+ <param name="actionName">configuration</param>
+ <param name="namespace">/admin</param>
+ <param name="method">input</param>
+ <param name="requireReleaseOutput">true</param>
+ </result>
</action>
<action name="releaseProject" class="releaseProject">
@@ -477,6 +488,7 @@
<param name="actionName">releaseInProgress</param>
<param name="releaseId">${releaseId}</param>
<param name="projectId">${projectId}</param>
+ <param name="releaseGoal">prepare</param>
</result>
</action>
@@ -490,6 +502,7 @@
<param name="actionName">releaseInProgress</param>
<param name="releaseId">${releaseId}</param>
<param name="projectId">${projectId}</param>
+ <param name="releaseGoal">perform</param>
</result>
</action>
@@ -503,6 +516,7 @@
<param name="actionName">releaseInProgress</param>
<param name="projectId">${projectId}</param>
<param name="releaseId">${releaseId}</param>
+ <param name="releaseGoal">perform</param>
</result>
</action>
@@ -533,6 +547,21 @@
<result name="success">/WEB-INF/jsp/releaseViewResult.jsp</result>
</action>
+ <action name="viewReleaseResult" class="releaseResult" method="viewResult">
+ <result name="success">/WEB-INF/jsp/releaseViewResult.jsp</result>
+ </action>
+
+ <action name="projectGroupReleaseResults" class="releaseResult" method="list">
+ <result name="success">/WEB-INF/jsp/projectGroupReleaseResults.jsp</result>
+ </action>
+
+ <action name="removeReleaseResults" class="releaseResult" method="remove">
+ <result name="confirm">/WEB-INF/jsp/confirmReleaseResultsRemoval.jsp</result>
+ <result name="success" type="redirect-action">
+ <param name="actionName">projectGroupReleaseResults</param>
+ <param name="projectGroupId">${projectGroupId}</param>
+ </result>
+ </action>
</package>
<!--
@@ -549,6 +578,7 @@
<interceptor-ref name="unconfiguredContinuumStack"/>
<result name="input">/WEB-INF/jsp/admin/configurationEdit.jsp</result>
<result name="success">/WEB-INF/jsp/admin/configuration.jsp</result>
+ <result name="error">/WEB-INF/jsp/admin/configurationEdit.jsp</result>
</action>
<action name="configureAppearance" class="configureAppearance" method="input">
@@ -607,6 +637,12 @@
<param name="namespace">/admin</param>
<param name="method">list</param>
</result>
+ <result name="error" type="redirect-action">
+ <param name="actionName">buildEnvList</param>
+ <param name="namespace">/admin</param>
+ <param name="method">list</param>
+ <param name="errorMessage">${message}</param>
+ </result>
</action>
<action name="confirmDeleteBuildEnv" class="profileAdministration" method="confirmDelete">
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/applicationContext.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/applicationContext.xml?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/applicationContext.xml (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/applicationContext.xml Tue Oct 28 21:16:12 2008
@@ -59,4 +59,14 @@
<bean class="org.apache.continuum.scm.manager.spring.ScmProviderFactoryBean"/>
</property>
</bean>
+
+ <bean id="mailSession" class="org.springframework.jndi.JndiObjectFactoryBean">
+ <property name="jndiName" value="java:comp/env/mail/Session">
+ </property>
+ </bean>
+
+ <bean name="mailSender#continuum" class="org.springframework.mail.javamail.JavaMailSenderImpl">
+ <property name="session" ref="mailSession"/>
+ </bean>
+
</beans>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configuration.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configuration.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configuration.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configuration.jsp Tue Oct 28 21:16:12 2008
@@ -36,6 +36,7 @@
<table border="1" cellspacing="2" cellpadding="3" width="100%">
<c1:data label="%{getText('configuration.workingDirectory.label')}" name="workingDirectory"/>
<c1:data label="%{getText('configuration.buildOutputDirectory.label')}" name="buildOutputDirectory"/>
+ <c1:data label="%{getText('configuration.releaseOutputDirectory.label')}" name="releaseOutputDirectory"/>
<c1:data label="%{getText('configuration.deploymentRepositoryDirectory.label')}"
name="deploymentRepositoryDirectory"/>
<c1:data label="%{getText('configuration.baseUrl.label')}" name="baseUrl"/>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configurationEdit.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configurationEdit.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configurationEdit.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configurationEdit.jsp Tue Oct 28 21:16:12 2008
@@ -19,6 +19,7 @@
<%@ taglib uri="/webwork" prefix="ww" %>
<%@ taglib uri="continuum" prefix="c1" %>
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
<html>
<ww:i18n name="localization.Continuum">
<head>
@@ -35,12 +36,13 @@
<ww:form action="configuration!save" method="post">
- <ww:if test="hasActionErrors()">
- <h3>Action Error</h3>
- </ww:if>
- <p>
- <ww:actionerror/>
- </p>
+ <c:if test="${!empty actionErrors}">
+ <div class="errormessage">
+ <c:forEach items="${actionErrors}" var="actionError">
+ <p><ww:text name="${actionError}"/></p>
+ </c:forEach>
+ </div>
+ </c:if>
<div class="axial">
@@ -61,6 +63,13 @@
</p></ww:param>
</ww:textfield>
+ <ww:textfield label="%{getText('configuration.releaseOutputDirectory.label')}" name="releaseOutputDirectory"
+ required="${requireReleaseOutput}">
+ <ww:param name="desc"><p>
+ <ww:text name="configuration.releaseOutputDirectory.message"/>
+ </ww:param>
+ </ww:textfield>
+
<ww:textfield label="%{getText('configuration.deploymentRepositoryDirectory.label')}"
name="deploymentRepositoryDirectory">
<ww:param name="desc"><p>
@@ -74,6 +83,7 @@
</p></ww:param>
</ww:textfield>
+ <ww:hidden name="requireReleaseOutput"/>
</tbody>
</table>
<div class="functnbar3">
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/profilesList.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/profilesList.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/profilesList.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/profilesList.jsp Tue Oct 28 21:16:12 2008
@@ -33,6 +33,14 @@
<ww:text name="profilesList.section.title"/>
</h3>
+ <c:if test="${!empty actionErrors}">
+ <div class="errormessage">
+ <c:forEach items="${actionErrors}" var="actionError">
+ <p><ww:text name="${actionError}"/></p>
+ </c:forEach>
+ </div>
+ </c:if>
+
<ww:if test="${not empty profiles}">
<ec:table items="profiles"
var="profile"
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionGroupSummaryComponent.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionGroupSummaryComponent.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionGroupSummaryComponent.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionGroupSummaryComponent.jsp Tue Oct 28 21:16:12 2008
@@ -92,14 +92,19 @@
<ec:column property="deleteActions" title=" " width="1%">
<center>
<redback:ifAuthorized permission="continuum-modify-group" resource="${projectGroupName}">
- <ww:url id="removeUrl" action="removeGroupBuildDefinition" namespace="/">
- <ww:param name="projectGroupId">${pageScope.buildDefinitionSummary.projectGroupId}</ww:param>
- <ww:param name="buildDefinitionId">${pageScope.buildDefinitionSummary.id}</ww:param>
- <ww:param name="confirmed" value="false"/>
- </ww:url>
- <ww:a href="%{removeUrl}">
- <img src="<ww:url value='/images/delete.gif' includeParams="none"/>" alt="<ww:text name='delete'/>" title="<ww:text name='delete'/>" border="0">
- </ww:a>
+ <ww:if test="${pageScope.buildDefinitionSummary.isDefault == true}">
+ <img src="<ww:url value='/images/delete_disabled.gif' includeParams="none"/>" alt="<ww:text name='delete'/>" title="<ww:text name='delete'/>" border="0">
+ </ww:if>
+ <ww:else>
+ <ww:url id="removeUrl" action="removeGroupBuildDefinition" namespace="/">
+ <ww:param name="projectGroupId">${pageScope.buildDefinitionSummary.projectGroupId}</ww:param>
+ <ww:param name="buildDefinitionId">${pageScope.buildDefinitionSummary.id}</ww:param>
+ <ww:param name="confirmed" value="false"/>
+ </ww:url>
+ <ww:a href="%{removeUrl}">
+ <img src="<ww:url value='/images/delete.gif' includeParams="none"/>" alt="<ww:text name='delete'/>" title="<ww:text name='delete'/>" border="0">
+ </ww:a>
+ </ww:else>
</redback:ifAuthorized>
<redback:elseAuthorized>
<img src="<ww:url value='/images/delete_disabled.gif' includeParams="none"/>" alt="<ww:text name='delete'/>" title="<ww:text name='delete'/>" border="0">
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupTabComponent.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupTabComponent.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupTabComponent.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupTabComponent.jsp Tue Oct 28 21:16:12 2008
@@ -39,6 +39,9 @@
<ww:url id="projectGroupNotifierUrl" action="projectGroupNotifier" includeParams="none">
<ww:param name="projectGroupId" value="projectGroupId"/>
</ww:url>
+ <ww:url id="projectGroupReleaseResultsUrl" action="projectGroupReleaseResults" includeParams="none">
+ <ww:param name="projectGroupId" value="projectGroupId"/>
+ </ww:url>
<ww:set name="tabName" value="tabName"/>
<c:choose>
@@ -76,6 +79,15 @@
<b style="border: 1px solid #DFDEDE; padding-left: 1em; padding-right: 1em;"><ww:text name="projectGroup.tab.notifiers"/></b>
</c:otherwise>
</c:choose>
+
+ <c:choose>
+ <c:when test="${tabName != 'ReleaseResults'}">
+ <a style="border: 1px solid #DFDEDE; padding-left: 1em; padding-right: 1em; text-decoration: none;" href="${projectGroupReleaseResultsUrl}"><ww:text name="projectGroup.tab.releaseResults"/></a>
+ </c:when>
+ <c:otherwise>
+ <b style="border: 1px solid #DFDEDE; padding-left: 1em; padding-right: 1em;"><ww:text name="projectGroup.tab.releaseResults"/></b>
+ </c:otherwise>
+ </c:choose>
</p>
</div>
</div>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/groupSummary.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/groupSummary.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/groupSummary.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/groupSummary.jsp Tue Oct 28 21:16:12 2008
@@ -68,6 +68,47 @@
${pageScope.group.repositoryName}
</redback:elseAuthorized>
</ec:column>
+ <ec:column property="buildGroupNowAction" title=" " width="1%">
+ <redback:ifAuthorized permission="continuum-build-group" resource="${group.name}">
+ <ww:url id="buildProjectGroupUrl" action="buildProjectGroup" namespace="/" includeParams="none">
+ <ww:param name="projectGroupId" value="${group.id}"/>
+ <ww:param name="buildDefinitionId" value="-1"/>
+ <ww:param name="fromSummaryPage" value="true"/>
+ </ww:url>
+ <ww:a href="%{buildProjectGroupUrl}">
+ <img src="<ww:url value='/images/buildnow.gif'/>" alt="<ww:text name="projectGroup.buildGroup"/>" title="<ww:text name="projectGroup.buildGroup"/>" border="0">
+ </ww:a>
+ </redback:ifAuthorized>
+ <redback:elseAuthorized>
+ <img src="<ww:url value='/images/buildnow_disabled.gif'/>" alt="<ww:text name="projectGroup.buildGroup"/>" title="<ww:text name="projectGroup.buildGroup"/>" border="0">
+ </redback:elseAuthorized>
+ </ec:column>
+ <ec:column property="releaseProjectGroupAction" title=" " width="1%">
+ <redback:ifAuthorized permission="continuum-build-group" resource="${group.name}">
+ <ww:url id="releaseProjectGroupUrl" action="releaseProjectGroup" namespace="/" includeParams="none">
+ <ww:param name="projectGroupId" value="${group.id}"/>
+ </ww:url>
+ <ww:a href="%{releaseProjectGroupUrl}">
+ <img src="<ww:url value='/images/releaseproject.gif'/>" alt="<ww:text name="projectGroup.releaseNow"/>" title="<ww:text name="projectGroup.releaseNow"/>" border="0">
+ </ww:a>
+ </redback:ifAuthorized>
+ <redback:elseAuthorized>
+ <img src="<ww:url value='/images/releaseproject_disabled.gif'/>" alt="<ww:text name="projectGroup.releaseNow"/>" title="<ww:text name="projectGroup.releaseNow"/>" border="0">
+ </redback:elseAuthorized>
+ </ec:column>
+ <ec:column property="removeProjectGroupAction" title=" " width="1%">
+ <redback:ifAuthorized permission="continuum-remove-group" resource="${group.name}">
+ <ww:url id="removeProjectGroupUrl" action="removeProjectGroup" namespace="/" includeParams="none">
+ <ww:param name="projectGroupId" value="${group.id}"/>
+ </ww:url>
+ <ww:a href="%{removeProjectGroupUrl}">
+ <img src="<ww:url value='/images/delete.gif'/>" alt="<ww:text name="projectGroup.deleteGroup"/>" title="<ww:text name="projectGroup.deleteGroup"/>" border="0">
+ </ww:a>
+ </redback:ifAuthorized>
+ <redback:elseAuthorized>
+ <img src="<ww:url value='/images/delete_disabled.gif'/>" alt="<ww:text name="projectGroup.deleteGroup"/>" title="<ww:text name="projectGroup.deleteGroup"/>" border="0">
+ </redback:elseAuthorized>
+ </ec:column>
<ec:column property="numSuccesses" title=" " format="0" width="2%" style="text-align: right" headerClass="calcHeaderSucces" calc="total" calcTitle="groups.table.summary"/>
<ec:column property="numFailures" title=" " format="0" width="2%" style="text-align: right" headerClass="calcHeaderFailure" calc="total" />
<ec:column property="numErrors" title=" " format="0" width="2%" style="text-align: right" headerClass="calcHeaderError" calc="total"/>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupEdit.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupEdit.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupEdit.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupEdit.jsp Tue Oct 28 21:16:12 2008
@@ -51,7 +51,8 @@
<c1:data label="%{getText('projectGroup.groupId.label')}" name="projectGroup.groupId"/>
<ww:textfield label="%{getText('projectGroup.description.label')}" name="description" disabled="%{projectInCOQueue}"/>
<ww:select label="%{getText('projectGroup.repository.label')}" name="repositoryId" list="repositories"
- listKey="id" listValue="name"/>
+ listKey="id" listValue="name" disabled="%{disabledRepositories}"/>
+ <ww:textfield label="%{getText('projectGroup.url.label')}" name="url" disabled="%{projectInCOQueue}"/>
</tbody>
</table>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp Tue Oct 28 21:16:12 2008
@@ -30,7 +30,7 @@
<title>
<ww:text name="projectGroup.page.title"/>
</title>
- <meta http-equiv="refresh" content="300"/>
+ <meta http-equiv="refresh" content="30"/>
<script type="text/javascript">
<c:url var="addM2ProjectUrl" value="/addMavenTwoProjectInput!input.action" />
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseFinished.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseFinished.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseFinished.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseFinished.jsp Tue Oct 28 21:16:12 2008
@@ -69,6 +69,7 @@
<ww:form action="releaseRollbackWarning" method="post">
<ww:hidden name="projectId"/>
<ww:hidden name="releaseId"/>
+ <ww:hidden name="releaseGoal"/>
<ww:submit value="Rollback Changes"/>
</ww:form>
</td>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInProgress.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInProgress.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInProgress.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInProgress.jsp Tue Oct 28 21:16:12 2008
@@ -64,6 +64,7 @@
<ww:form action="releaseInProgress" method="get">
<ww:hidden name="projectId"/>
<ww:hidden name="releaseId"/>
+ <ww:hidden name="releaseGoal"/>
<ww:submit value="Refresh"/>
</ww:form>
</body>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInitialized.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInitialized.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInitialized.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseInitialized.jsp Tue Oct 28 21:16:12 2008
@@ -36,6 +36,7 @@
<ww:form action="releaseInProgress" method="get">
<ww:hidden name="projectId"/>
<ww:hidden name="releaseId"/>
+ <ww:hidden name="releaseGoal"/>
<ww:submit value="Refresh"/>
</ww:form>
</body>
Modified: continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePerformFromScm.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePerformFromScm.jsp?rev=708765&r1=708764&r2=708765&view=diff
==============================================================================
--- continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePerformFromScm.jsp (original)
+++ continuum/branches/continuum-transient-state/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePerformFromScm.jsp Tue Oct 28 21:16:12 2008
@@ -31,15 +31,17 @@
<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:password label="SCM Password" name="scmPassword"/>
- <ww:textfield label="SCM Tag" name="scmTag"/>
+ <ww:textfield label="%{getText('releasePerformFromScm.scmUrl.label')}" name="scmUrl"/>
+ <ww:textfield label="%{getText('releasePerformFromScm.scmUsername.label')}" name="scmUsername"/>
+ <ww:password label="%{getText('releasePerformFromScm.scmPassword.label')}" name="scmPassword"/>
+ <ww:textfield label="%{getText('releasePerformFromScm.scmTag.label')}" name="scmTag"/>
<c:if test="${!empty (scmTagBase)}">
- <ww:textfield label="SCM Tag Base" name="scmTagBase"/>
+ <ww:textfield label="%{getText('releasePerformFromScm.scmTagBase.label')}" name="scmTagBase"/>
</c:if>
- <ww:textfield label="Maven Arguments" name="goals" value="clean deploy"/>
- <ww:checkbox label="Use Release Profile" name="useReleaseProfile" value="true"/>
+ <ww:textfield label="%{getText('releasePerformFromScm.goals.label')}" name="goals" value="clean deploy"/>
+ <ww:checkbox label="%{getText('releasePerformFromScm.useReleaseProfile.label')}" name="useReleaseProfile" value="true"/>
+ <ww:select label="%{getText('releasePerformFromScm.buildEnvironment.label')}" name="profileId" list="profiles" listValue="name"
+ listKey="id" headerKey="-1" headerValue=""/>
</table>
</div>
<ww:submit/>