You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by oc...@apache.org on 2010/05/06 11:23:34 UTC
svn commit: r941625 [22/24] - in
/continuum/branches/continuum-flat-multi-module: ./ continuum-api/
continuum-api/src/main/java/org/apache/continuum/builder/distributed/
continuum-api/src/main/java/org/apache/continuum/builder/distributed/manager/
cont...
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.java Thu May 6 09:23:13 2010
@@ -24,13 +24,16 @@ import com.opensymphony.xwork2.Preparabl
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import org.apache.continuum.web.util.AuditLog;
import org.apache.continuum.web.util.AuditLogConstants;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.builddefinition.BuildDefinitionServiceException;
+import org.apache.maven.continuum.builddefinition.BuildDefinitionUpdatePolicyConstants;
import org.apache.maven.continuum.execution.ContinuumBuildExecutorConstants;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
@@ -72,10 +75,13 @@ public class BuildDefinitionTemplateActi
private List<BuildDefinition> buildDefinitions;
+ private Map<Integer, String> buildDefinitionUpdatePolicies;
+
// -------------------------------------------------------
// Webwork Methods
// -------------------------------------------------------
+ @Override
public void prepare()
throws Exception
{
@@ -88,6 +94,14 @@ public class BuildDefinitionTemplateActi
this.setSchedules( getContinuum().getSchedules() );
this.setProfiles( getContinuum().getProfileService().getAllProfiles() );
this.setBuildDefinitions( getContinuum().getBuildDefinitionService().getAllTemplates() );
+ buildDefinitionUpdatePolicies = new HashMap<Integer, String>();
+ String text = getText( "buildDefinition.updatePolicy.always" );
+ buildDefinitionUpdatePolicies.put( BuildDefinitionUpdatePolicyConstants.UPDATE_DESCRIPTION_ALWAYS, text );
+ text = getText( "buildDefinition.updatePolicy.never" );
+ buildDefinitionUpdatePolicies.put( BuildDefinitionUpdatePolicyConstants.UPDATE_DESCRIPTION_NEVER, text );
+ text = getText( "buildDefinition.updatePolicy.newPom" );
+ buildDefinitionUpdatePolicies.put( BuildDefinitionUpdatePolicyConstants.UPDATE_DESCRIPTION_ONLY_FOR_NEW_POM,
+ text );
}
public String input()
@@ -136,6 +150,8 @@ public class BuildDefinitionTemplateActi
{
List<BuildDefinition> selectedBuildDefinitions = getBuildDefinitionsFromSelectedBuildDefinitions();
+ BuildDefinitionTemplate result;
+
AuditLog event = new AuditLog( buildDefinitionTemplate.getName(), AuditLogConstants.ADD_TEMPLATE );
event.setCategory( AuditLogConstants.TEMPLATE );
event.setCurrentUser( getPrincipal() );
@@ -143,15 +159,24 @@ public class BuildDefinitionTemplateActi
if ( this.buildDefinitionTemplate.getId() > 0 )
{
buildDefinitionTemplate.setBuildDefinitions( selectedBuildDefinitions );
- this.getContinuum().getBuildDefinitionService().updateBuildDefinitionTemplate( buildDefinitionTemplate );
+ result = this.getContinuum().getBuildDefinitionService().updateBuildDefinitionTemplate( buildDefinitionTemplate );
event.setAction( AuditLogConstants.MODIFY_TEMPLATE );
- event.log();
}
else
{
buildDefinitionTemplate.setBuildDefinitions( selectedBuildDefinitions );
this.buildDefinitionTemplate =
this.getContinuum().getBuildDefinitionService().addBuildDefinitionTemplate( buildDefinitionTemplate );
+ result = this.buildDefinitionTemplate;
+ }
+
+ if ( result == null )
+ {
+ addActionError( getText( "buildDefintionTemplate.name.exists" ) );
+ return INPUT;
+ }
+ else
+ {
event.log();
}
@@ -217,6 +242,7 @@ public class BuildDefinitionTemplateActi
public String saveBuildDefinition()
throws Exception
{
+ Schedule schedule = null;
if ( buildDefinition.getProfile() != null )
{
Profile profile = getContinuum().getProfileService().getProfile( buildDefinition.getProfile().getId() );
@@ -233,7 +259,8 @@ public class BuildDefinitionTemplateActi
{
if ( buildDefinition.getSchedule().getId() > 0 )
{
- buildDefinition.setSchedule( getContinuum().getSchedule( buildDefinition.getSchedule().getId() ) );
+ schedule = getContinuum().getSchedule( buildDefinition.getSchedule().getId() );
+ buildDefinition.setSchedule( schedule );
}
}
@@ -246,6 +273,11 @@ public class BuildDefinitionTemplateActi
this.buildDefinition =
this.getContinuum().getBuildDefinitionService().addBuildDefinition( buildDefinition );
}
+
+ if ( schedule != null )
+ {
+ getContinuum().activeBuildDefinitionSchedule( schedule );
+ }
return SUCCESS;
}
@@ -383,4 +415,9 @@ public class BuildDefinitionTemplateActi
this.selectedBuildDefinitionIds = selectedBuildDefinitionIds;
}
+ public Map<Integer, String> getBuildDefinitionUpdatePolicies()
+ {
+ return buildDefinitionUpdatePolicies;
+ }
+
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java Thu May 6 09:23:13 2010
@@ -22,6 +22,8 @@ package org.apache.maven.continuum.web.a
import java.util.List;
import org.apache.continuum.buildmanager.BuildManagerException;
+import org.apache.continuum.web.util.AuditLog;
+import org.apache.continuum.web.util.AuditLogConstants;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.model.project.BuildQueue;
import org.apache.maven.continuum.security.ContinuumRoleConstants;
@@ -98,6 +100,11 @@ public class BuildQueueAction
BuildQueue addedBuildQueue = getContinuum().addBuildQueue( buildQueue );
getContinuum().getBuildsManager().addOverallBuildQueue( addedBuildQueue );
+
+ AuditLog event = new AuditLog( "Build Queue id=" + addedBuildQueue.getId(), AuditLogConstants.ADD_BUILD_QUEUE );
+ event.setCategory( AuditLogConstants.BUILD_QUEUE );
+ event.setCurrentUser( getPrincipal() );
+ event.log();
}
else
{
@@ -145,6 +152,11 @@ public class BuildQueueAction
getContinuum().removeBuildQueue( buildQueueToBeDeleted );
this.buildQueueList = getContinuum().getAllBuildQueues();
+
+ AuditLog event = new AuditLog( "Build Queue id=" + buildQueue.getId(), AuditLogConstants.REMOVE_BUILD_QUEUE );
+ event.setCategory( AuditLogConstants.BUILD_QUEUE );
+ event.setCurrentUser( getPrincipal() );
+ event.log();
}
else
{
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ProfileAction.java Thu May 6 09:23:13 2010
@@ -77,8 +77,6 @@ public class ProfileAction
private List<BuildAgentGroupConfiguration> buildAgentGroups;
- private String message;
-
public void prepare()
throws Exception
{
@@ -106,13 +104,6 @@ public class ProfileAction
public String list()
throws Exception
{
- String errorMessage = ServletActionContext.getRequest().getParameter( "errorMessage" );
-
- if ( errorMessage != null )
- {
- addActionError( getText( errorMessage ) );
- }
-
this.profiles = profileService.getAllProfiles();
return SUCCESS;
}
@@ -188,13 +179,13 @@ public class ProfileAction
{
profileService.deleteProfile( profile.getId() );
this.profiles = profileService.getAllProfiles();
- return SUCCESS;
}
catch ( ProfileException e )
{
- message = "profile.remove.error";
- return ERROR;
+ // display action error in default/success page -- CONTINUUM-2250
+ addActionError( getText( "profile.remove.error" ) );
}
+ return SUCCESS;
}
public String confirmDelete()
@@ -326,16 +317,6 @@ public class ProfileAction
this.installationId = installationId;
}
- public String getMessage()
- {
- return message;
- }
-
- public void setMessage( String message )
- {
- this.message = message;
- }
-
public List<BuildAgentGroupConfiguration> getBuildAgentGroups()
{
return buildAgentGroups;
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/QueuesAction.java Thu May 6 09:23:13 2010
@@ -20,7 +20,6 @@ package org.apache.maven.continuum.web.a
*/
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -33,17 +32,19 @@ import org.apache.continuum.model.projec
import org.apache.continuum.taskqueue.BuildProjectTask;
import org.apache.continuum.taskqueue.CheckOutTask;
import org.apache.continuum.taskqueue.PrepareBuildProjectsTask;
-import org.apache.continuum.taskqueue.manager.TaskQueueManagerException;
+import org.apache.continuum.utils.build.BuildTrigger;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectGroup;
-import org.apache.maven.continuum.project.ContinuumProjectState;
import org.apache.maven.continuum.security.ContinuumRoleConstants;
import org.apache.maven.continuum.web.action.ContinuumActionSupport;
+import org.apache.maven.continuum.web.bean.BuildProjectQueue;
+import org.apache.maven.continuum.web.bean.CheckoutQueue;
import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
import org.apache.maven.continuum.web.model.DistributedBuildSummary;
+import org.apache.maven.continuum.web.model.PrepareBuildSummary;
import org.codehaus.plexus.redback.rbac.Resource;
-import org.codehaus.plexus.taskqueue.TaskQueueException;
+import org.codehaus.plexus.util.StringUtils;
import org.codehaus.redback.integration.interceptor.SecureAction;
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
import org.codehaus.redback.integration.interceptor.SecureActionException;
@@ -64,6 +65,8 @@ public class QueuesAction
private static final String DISTRIBUTED_BUILD_SUCCESS = "distributed-build-success";
+ private List<String> selectedPrepareBuildTaskHashCodes;
+
private List<String> selectedBuildTaskHashCodes;
private List<String> selectedCheckOutTaskHashCodes;
@@ -76,30 +79,31 @@ public class QueuesAction
private String projectName;
- private Map<String, BuildProjectTask> currentBuildProjectTasks = new HashMap<String, BuildProjectTask>();
+ private List<BuildProjectQueue> currentBuildProjectTasks = new ArrayList<BuildProjectQueue>();
+
+ private List<CheckoutQueue> currentCheckoutTasks = new ArrayList<CheckoutQueue>();
+
+ private List<BuildProjectQueue> buildsInQueue = new ArrayList<BuildProjectQueue>();
- private Map<String, CheckOutTask> currentCheckoutTasks = new HashMap<String, CheckOutTask>();
+ private List<CheckoutQueue> checkoutsInQueue = new ArrayList<CheckoutQueue>();
- private Map<String, List<BuildProjectTask>> buildsInQueue = new HashMap<String, List<BuildProjectTask>>();
+ private List<PrepareBuildSummary> currentPrepareBuilds = new ArrayList<PrepareBuildSummary>();
- private Map<String, List<CheckOutTask>> checkoutsInQueue = new HashMap<String, List<CheckOutTask>>();
+ private List<PrepareBuildSummary> prepareBuildQueues = new ArrayList<PrepareBuildSummary>();
- /**
- * @plexus.requirement
- */
- DistributedBuildManager distributedBuildManager;
+ private List<PrepareBuildSummary> currentDistributedPrepareBuilds = new ArrayList<PrepareBuildSummary>();
- private List<DistributedBuildSummary> distributedBuildSummary;
+ private List<PrepareBuildSummary> distributedPrepareBuildQueues = new ArrayList<PrepareBuildSummary>();
- private List<PrepareBuildProjectsTask> distributedBuildQueues;
+ private List<DistributedBuildSummary> currentDistributedBuilds = new ArrayList<DistributedBuildSummary>();
+
+ private List<DistributedBuildSummary> distributedBuildQueues = new ArrayList<DistributedBuildSummary>();
private String buildAgentUrl;
private int projectGroupId;
- private String scmRootAddress;
-
- private List<String> selectedDistributedBuildTaskHashCodes;
+ private int scmRootId;
// -----------------------------------------------------
// webwork
@@ -202,38 +206,89 @@ public class QueuesAction
{
if ( getContinuum().getConfiguration().isDistributedBuildEnabled() )
{
- distributedBuildSummary = new ArrayList<DistributedBuildSummary>();
+ // current prepare build task
+ Map<String, PrepareBuildProjectsTask> currentPrepareBuildMap = getContinuum().getDistributedBuildManager().getProjectsCurrentlyPreparingBuild();
- Map<String, PrepareBuildProjectsTask> map = distributedBuildManager.getDistributedBuildProjects();
-
- for ( String url : map.keySet() )
+ for ( String url : currentPrepareBuildMap.keySet() )
{
- PrepareBuildProjectsTask task = map.get( url );
+ PrepareBuildProjectsTask task = currentPrepareBuildMap.get( url );
ProjectGroup projectGroup = getContinuum().getProjectGroup( task.getProjectGroupId() );
- DistributedBuildSummary summary = new DistributedBuildSummary();
- summary.setUrl( url );
+ PrepareBuildSummary summary = new PrepareBuildSummary();
+ summary.setBuildAgentUrl( url );
summary.setProjectGroupId( task.getProjectGroupId() );
summary.setProjectGroupName( projectGroup.getName() );
summary.setScmRootAddress( task.getScmRootAddress() );
+ summary.setScmRootId( task.getProjectScmRootId() );
+
+ currentDistributedPrepareBuilds.add( summary );
+ }
+
+ // current builds
+ Map<String, BuildProjectTask> currentBuildMap = getContinuum().getDistributedBuildManager().getProjectsCurrentlyBuilding();
- ProjectScmRoot scmRoot =
- getContinuum().getProjectScmRootByProjectGroupAndScmRootAddress( task.getProjectGroupId(),
- task.getScmRootAddress() );
- if ( scmRoot.getState() == ContinuumProjectState.UPDATING )
+ for ( String url : currentBuildMap.keySet() )
+ {
+ BuildProjectTask task = currentBuildMap.get( url );
+
+ Project project = getContinuum().getProject( task.getProjectId() );
+
+ DistributedBuildSummary summary = new DistributedBuildSummary();
+ summary.setProjectId( project.getId() );
+ summary.setProjectName( project.getName() );
+ summary.setProjectGroupName( project.getProjectGroup().getName() );
+ summary.setBuildDefinitionId( task.getBuildDefinitionId() );
+ summary.setBuildDefinitionLabel( task.getBuildDefinitionLabel() );
+ summary.setHashCode( task.getHashCode() );
+ summary.setBuildAgentUrl( url );
+
+ currentDistributedBuilds.add( summary );
+ }
+
+ // prepare build queues
+ Map<String, List<PrepareBuildProjectsTask>> prepareBuildMap = getContinuum().getDistributedBuildManager().getProjectsInPrepareBuildQueue();
+
+ for ( String url : prepareBuildMap.keySet() )
+ {
+ for ( PrepareBuildProjectsTask task : prepareBuildMap.get( url ) )
{
- summary.setCancelEnabled( false );
+ ProjectGroup projectGroup = getContinuum().getProjectGroup( task.getProjectGroupId() );
+
+ PrepareBuildSummary summary = new PrepareBuildSummary();
+ summary.setBuildAgentUrl( url );
+ summary.setProjectGroupId( task.getProjectGroupId() );
+ summary.setProjectGroupName( projectGroup.getName() );
+ summary.setScmRootAddress( task.getScmRootAddress() );
+ summary.setScmRootId( task.getProjectScmRootId() );
+ summary.setHashCode( task.getHashCode() );
+
+ distributedPrepareBuildQueues.add( summary );
}
- else
+ }
+
+ // build queues
+ Map<String, List<BuildProjectTask>> buildMap = getContinuum().getDistributedBuildManager().getProjectsInBuildQueue();
+
+ for ( String url : buildMap.keySet() )
+ {
+ for ( BuildProjectTask task : buildMap.get( url ) )
{
- summary.setCancelEnabled( true );
- }
+ DistributedBuildSummary summary = new DistributedBuildSummary();
- distributedBuildSummary.add( summary );
- }
+ Project project = getContinuum().getProject( task.getProjectId() );
+
+ summary.setProjectId( project.getId() );
+ summary.setProjectName( project.getName() );
+ summary.setProjectGroupName( project.getProjectGroup().getName() );
+ summary.setBuildDefinitionId( task.getBuildDefinitionId() );
+ summary.setBuildDefinitionLabel( task.getBuildDefinitionLabel() );
+ summary.setHashCode( task.getHashCode() );
+ summary.setBuildAgentUrl( url );
- distributedBuildQueues = aggregateQueues();
+ distributedBuildQueues.add( summary );
+ }
+ }
return DISTRIBUTED_BUILD_SUCCESS;
}
@@ -241,13 +296,61 @@ public class QueuesAction
{
try
{
+ // current prepare builds
+ PrepareBuildProjectsTask currentPrepareBuildTask = getContinuum().getBuildsManager().getCurrentProjectInPrepareBuild();
+
+ if ( currentPrepareBuildTask != null )
+ {
+ PrepareBuildSummary s = new PrepareBuildSummary();
+
+ s.setProjectGroupId( currentPrepareBuildTask.getProjectGroupId() );
+ s.setProjectGroupName( currentPrepareBuildTask.getProjectGroupName() );
+ s.setScmRootId( currentPrepareBuildTask.getProjectScmRootId() );
+ s.setScmRootAddress( currentPrepareBuildTask.getScmRootAddress() );
+ currentPrepareBuilds.add( s );
+ }
+ }
+ catch ( BuildManagerException e )
+ {
+ addActionError( e.getMessage() );
+ return ERROR;
+ }
+
+ try
+ {
// current builds
Map<String, BuildProjectTask> currentBuilds = getContinuum().getBuildsManager().getCurrentBuilds();
Set<String> keySet = currentBuilds.keySet();
for ( String key : keySet )
{
BuildProjectTask buildTask = currentBuilds.get( key );
- currentBuildProjectTasks.put( key, buildTask );
+ BuildProjectQueue queue = new BuildProjectQueue();
+ queue.setName( key );
+ queue.setTask( buildTask );
+ currentBuildProjectTasks.add( queue );
+ }
+ }
+ catch ( BuildManagerException e )
+ {
+ addActionError( e.getMessage() );
+ return ERROR;
+ }
+
+ try
+ {
+ // queued prepare builds
+ List<PrepareBuildProjectsTask> prepareBuilds =
+ getContinuum().getBuildsManager().getProjectsInPrepareBuildQueue();
+ for ( PrepareBuildProjectsTask task : prepareBuilds )
+ {
+ PrepareBuildSummary summary = new PrepareBuildSummary();
+ summary.setProjectGroupId( task.getProjectGroupId() );
+ summary.setProjectGroupName( task.getProjectGroupName() );
+ summary.setScmRootId( task.getProjectScmRootId() );
+ summary.setScmRootAddress( task.getScmRootAddress() );
+ summary.setHashCode( task.getHashCode() );
+
+ prepareBuildQueues.add( summary );
}
}
catch ( BuildManagerException e )
@@ -264,12 +367,13 @@ public class QueuesAction
Set<String> keySet = builds.keySet();
for ( String key : keySet )
{
- List<BuildProjectTask> buildTasks = new ArrayList<BuildProjectTask>();
for ( BuildProjectTask task : builds.get( key ) )
{
- buildTasks.add( task );
+ BuildProjectQueue queue = new BuildProjectQueue();
+ queue.setName( key );
+ queue.setTask( task );
+ buildsInQueue.add( queue );
}
- buildsInQueue.put( key, buildTasks );
}
}
catch ( BuildManagerException e )
@@ -286,7 +390,10 @@ public class QueuesAction
for ( String key : keySet )
{
CheckOutTask checkoutTask = currentCheckouts.get( key );
- currentCheckoutTasks.put( key, checkoutTask );
+ CheckoutQueue queue = new CheckoutQueue();
+ queue.setName( key );
+ queue.setTask( checkoutTask );
+ currentCheckoutTasks.add( queue );
}
}
catch ( BuildManagerException e )
@@ -303,12 +410,13 @@ public class QueuesAction
Set<String> keySet = checkouts.keySet();
for ( String key : keySet )
{
- List<CheckOutTask> checkoutTasks = new ArrayList<CheckOutTask>();
for ( CheckOutTask task : checkouts.get( key ) )
{
- checkoutTasks.add( task );
+ CheckoutQueue queue = new CheckoutQueue();
+ queue.setName( key );
+ queue.setTask( task );
+ checkoutsInQueue.add( queue );
}
- checkoutsInQueue.put( key, checkoutTasks );
}
}
catch ( BuildManagerException e )
@@ -339,8 +447,8 @@ public class QueuesAction
return REQUIRES_AUTHENTICATION;
}
- getContinuum().getBuildsManager().removeProjectFromBuildQueue( projectId, buildDefinitionId, trigger,
- projectName );
+ getContinuum().getBuildsManager().removeProjectFromBuildQueue( projectId, buildDefinitionId,
+ new BuildTrigger( trigger, "" ), projectName, projectGroupId );
Project project = getContinuum().getProject( projectId );
project.setState( project.getOldState() );
getContinuum().updateProject( project );
@@ -394,6 +502,51 @@ public class QueuesAction
return SUCCESS;
}
+ public String removePrepareBuildEntry()
+ throws Exception
+ {
+ try
+ {
+ checkManageQueuesAuthorization();
+ }
+ catch ( AuthorizationRequiredException authzE )
+ {
+ addActionError( authzE.getMessage() );
+ return REQUIRES_AUTHORIZATION;
+ }
+ catch ( AuthenticationRequiredException e )
+ {
+ addActionError( e.getMessage() );
+ return REQUIRES_AUTHENTICATION;
+ }
+
+ getContinuum().getBuildsManager().removeProjectFromPrepareBuildQueue( projectGroupId, scmRootId );
+ return SUCCESS;
+ }
+
+ public String removePrepareBuildEntries()
+ throws Exception
+ {
+ try
+ {
+ checkManageQueuesAuthorization();
+ }
+ catch ( AuthorizationRequiredException authzE )
+ {
+ addActionError( authzE.getMessage() );
+ return REQUIRES_AUTHORIZATION;
+ }
+ catch ( AuthenticationRequiredException e )
+ {
+ addActionError( e.getMessage() );
+ return REQUIRES_AUTHENTICATION;
+ }
+
+ getContinuum().getBuildsManager().removeProjectsFromPrepareBuildQueueWithHashCodes(
+ listToIntArray( this.selectedPrepareBuildTaskHashCodes ) );
+ return SUCCESS;
+ }
+
public String cancelDistributedBuild()
throws Exception
{
@@ -412,7 +565,53 @@ public class QueuesAction
return REQUIRES_AUTHENTICATION;
}
- distributedBuildManager.cancelDistributedBuild( buildAgentUrl, projectGroupId, scmRootAddress );
+ getContinuum().getDistributedBuildManager().cancelDistributedBuild( buildAgentUrl );
+
+ return SUCCESS;
+ }
+
+ public String removeDistributedPrepareBuildEntry()
+ throws Exception
+ {
+ try
+ {
+ checkManageQueuesAuthorization();
+ }
+ catch ( AuthorizationRequiredException authzE )
+ {
+ addActionError( authzE.getMessage() );
+ return REQUIRES_AUTHORIZATION;
+ }
+ catch ( AuthenticationRequiredException e )
+ {
+ addActionError( e.getMessage() );
+ return REQUIRES_AUTHENTICATION;
+ }
+
+ getContinuum().getDistributedBuildManager().removeFromPrepareBuildQueue( buildAgentUrl, projectGroupId, scmRootId );
+
+ return SUCCESS;
+ }
+
+ public String removeDistributedPrepareBuildEntries()
+ throws Exception
+ {
+ try
+ {
+ checkManageQueuesAuthorization();
+ }
+ catch ( AuthorizationRequiredException authzE )
+ {
+ addActionError( authzE.getMessage() );
+ return REQUIRES_AUTHORIZATION;
+ }
+ catch ( AuthenticationRequiredException e )
+ {
+ addActionError( e.getMessage() );
+ return REQUIRES_AUTHENTICATION;
+ }
+
+ getContinuum().getDistributedBuildManager().removeFromPrepareBuildQueue( this.getSelectedPrepareBuildTaskHashCodes() );
return SUCCESS;
}
@@ -435,7 +634,7 @@ public class QueuesAction
return REQUIRES_AUTHENTICATION;
}
- getContinuum().getTaskQueueManager().removeFromDistributedBuildQueue( projectGroupId, scmRootAddress );
+ getContinuum().getDistributedBuildManager().removeFromBuildQueue( buildAgentUrl, projectId, buildDefinitionId );
return SUCCESS;
}
@@ -458,8 +657,7 @@ public class QueuesAction
return REQUIRES_AUTHENTICATION;
}
- getContinuum().getTaskQueueManager().removeTasksFromDistributedBuildQueueWithHashCodes(
- listToIntArray( this.getSelectedDistributedBuildTaskHashCodes() ) );
+ getContinuum().getDistributedBuildManager().removeFromBuildQueue( this.getSelectedBuildTaskHashCodes() );
return SUCCESS;
}
@@ -586,125 +784,103 @@ public class QueuesAction
this.selectedCheckOutTaskHashCodes = selectedCheckOutTaskHashCodes;
}
- public Map<String, BuildProjectTask> getCurrentBuildProjectTasks()
+ public List<BuildProjectQueue> getCurrentBuildProjectTasks()
{
return currentBuildProjectTasks;
}
- public void setCurrentBuildProjectTasks( Map<String, BuildProjectTask> currentBuildProjectTasks )
+ public void setCurrentBuildProjectTasks( List<BuildProjectQueue> currentBuildProjectTasks )
{
this.currentBuildProjectTasks = currentBuildProjectTasks;
}
- public Map<String, CheckOutTask> getCurrentCheckoutTasks()
+ public List<CheckoutQueue> getCurrentCheckoutTasks()
{
return currentCheckoutTasks;
}
- public void setCurrentCheckoutTasks( Map<String, CheckOutTask> currentCheckoutTasks )
+ public void setCurrentCheckoutTasks( List<CheckoutQueue> currentCheckoutTasks )
{
this.currentCheckoutTasks = currentCheckoutTasks;
}
- public Map<String, List<BuildProjectTask>> getBuildsInQueue()
+ public List<BuildProjectQueue> getBuildsInQueue()
{
return buildsInQueue;
}
- public void setBuildsInQueue( Map<String, List<BuildProjectTask>> buildsInQueue )
+ public void setBuildsInQueue( List<BuildProjectQueue> buildsInQueue )
{
this.buildsInQueue = buildsInQueue;
}
- public Map<String, List<CheckOutTask>> getCheckoutsInQueue()
+ public List<CheckoutQueue> getCheckoutsInQueue()
{
return checkoutsInQueue;
}
- public void setCheckoutsInQueue( Map<String, List<CheckOutTask>> checkoutsInQueue )
+ public void setCheckoutsInQueue( List<CheckoutQueue> checkoutsInQueue )
{
this.checkoutsInQueue = checkoutsInQueue;
}
- public List<DistributedBuildSummary> getDistributedBuildSummary()
+ public List<PrepareBuildSummary> getCurrentDistributedPrepareBuilds()
{
- return distributedBuildSummary;
+ return currentDistributedPrepareBuilds;
}
- public void setDistributedBuildSummary( List<DistributedBuildSummary> distributedBuildSummary )
+ public List<DistributedBuildSummary> getCurrentDistributedBuilds()
{
- this.distributedBuildSummary = distributedBuildSummary;
+ return currentDistributedBuilds;
}
- public String getBuildAgentUrl()
+ public List<PrepareBuildSummary> getDistributedPrepareBuildQueues()
{
- return buildAgentUrl;
+ return distributedPrepareBuildQueues;
}
- public void setBuildAgentUrl( String buildAgentUrl )
+ public List<DistributedBuildSummary> getDistributedBuildQueues()
{
- this.buildAgentUrl = buildAgentUrl;
+ return distributedBuildQueues;
}
- public List<PrepareBuildProjectsTask> getDistributedBuildQueues()
+ public List<PrepareBuildSummary> getCurrentPrepareBuilds()
{
- return distributedBuildQueues;
+ return currentPrepareBuilds;
}
- public void setDistributedBuildQueues( List<PrepareBuildProjectsTask> distributedBuildQueues )
+ public List<PrepareBuildSummary> getPrepareBuildQueues()
{
- this.distributedBuildQueues = distributedBuildQueues;
+ return prepareBuildQueues;
}
- public List<String> getSelectedDistributedBuildTaskHashCodes()
+ public String getBuildAgentUrl()
{
- return selectedDistributedBuildTaskHashCodes;
+ return buildAgentUrl;
}
- public void setSelectedDistributedBuildTaskHashCodes( List<String> selectedDistributedBuildTaskHashCodes )
+ public void setBuildAgentUrl( String buildAgentUrl )
{
- this.selectedDistributedBuildTaskHashCodes = selectedDistributedBuildTaskHashCodes;
+ this.buildAgentUrl = buildAgentUrl;
}
- public String getScmRootAddress()
+ public void setProjectGroupId( int projectGroupId )
{
- return scmRootAddress;
+ this.projectGroupId = projectGroupId;
}
- public void setScmRootAddress( String scmRootAddress )
+ public void setScmRootId( int scmRootId )
{
- this.scmRootAddress = scmRootAddress;
+ this.scmRootId = scmRootId;
}
- private List<PrepareBuildProjectsTask> aggregateQueues()
- throws TaskQueueManagerException
+ public void setSelectedPrepareBuildTaskHashCodes( List<String> selectedPrepareBuildTaskHashCodes )
{
- List<PrepareBuildProjectsTask> aggregatedQueues = new ArrayList<PrepareBuildProjectsTask>();
-
- List<PrepareBuildProjectsTask> overallQueues =
- getContinuum().getTaskQueueManager().getDistributedBuildProjectsInQueue();
-
- Map<String, DistributedBuildTaskQueueExecutor> agentTaskQueueExecutors =
- distributedBuildManager.getTaskQueueExecutors();
-
- for ( String url : agentTaskQueueExecutors.keySet() )
- {
- try
- {
- logger.debug( "size of each queue snapshot " + url + " : " +
- agentTaskQueueExecutors.get( url ).getQueue().getQueueSnapshot().size() );
- aggregatedQueues.addAll( agentTaskQueueExecutors.get( url ).getQueue().getQueueSnapshot() );
- }
- catch ( TaskQueueException e )
- {
- //silently ignore error
- logger.error( "Error encountered retrieving queue snapshot from queue :" + url, e );
- }
- }
-
- logger.debug( "size of agg. queue " + aggregatedQueues.size() );
- aggregatedQueues.addAll( overallQueues );
+ this.selectedPrepareBuildTaskHashCodes = selectedPrepareBuildTaskHashCodes;
+ }
- return aggregatedQueues;
+ public List<String> getSelectedPrepareBuildTaskHashCodes()
+ {
+ return selectedPrepareBuildTaskHashCodes;
}
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java Thu May 6 09:23:13 2010
@@ -140,13 +140,15 @@ public class BuildDefinitionSummaryActio
}
}
- if ( containsDefaultBDForProject )
+ for ( BuildDefinitionSummary bds : groupBuildDefinitionSummaries )
{
- for ( BuildDefinitionSummary bds : groupBuildDefinitionSummaries )
+ if ( bds.isIsDefault() )
+ {
+ defaultGroupDefinitionId = bds.getId();
+ }
+
+ if ( containsDefaultBDForProject )
{
- if (bds.isIsDefault()){
- defaultGroupDefinitionId = bds.getId();
- }
bds.setIsDefault( false );
}
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailGroupNotifierEditAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailGroupNotifierEditAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailGroupNotifierEditAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailGroupNotifierEditAction.java Thu May 6 09:23:13 2010
@@ -43,6 +43,8 @@ public class MailGroupNotifierEditAction
private boolean committers;
+ private boolean developers;
+
protected void initConfiguration( Map<String, String> configuration )
{
if ( StringUtils.isNotEmpty( configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
@@ -54,6 +56,11 @@ public class MailGroupNotifierEditAction
{
committers = Boolean.parseBoolean( configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) );
}
+
+ if (StringUtils.isNotEmpty(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD)))
+ {
+ developers = Boolean.parseBoolean(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD));
+ }
}
protected void setNotifierConfiguration( ProjectNotifier notifier )
@@ -67,6 +74,8 @@ public class MailGroupNotifierEditAction
configuration.put( AbstractContinuumNotifier.COMMITTER_FIELD, String.valueOf( committers ) );
+ configuration.put(AbstractContinuumNotifier.DEVELOPER_FIELD, String.valueOf(developers));
+
notifier.setConfiguration( configuration );
}
@@ -89,4 +98,14 @@ public class MailGroupNotifierEditAction
{
this.committers = committers;
}
+
+ public boolean isDevelopers()
+ {
+ return developers;
+ }
+
+ public void setDevelopers(boolean developers)
+ {
+ this.developers = developers;
+ }
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailProjectNotifierEditAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailProjectNotifierEditAction.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailProjectNotifierEditAction.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/MailProjectNotifierEditAction.java Thu May 6 09:23:13 2010
@@ -43,6 +43,8 @@ public class MailProjectNotifierEditActi
private boolean committers;
+ private boolean developers;
+
protected void initConfiguration( Map<String, String> configuration )
{
if ( StringUtils.isNotEmpty( configuration.get( AbstractContinuumNotifier.ADDRESS_FIELD ) ) )
@@ -54,6 +56,11 @@ public class MailProjectNotifierEditActi
{
committers = Boolean.parseBoolean( configuration.get( AbstractContinuumNotifier.COMMITTER_FIELD ) );
}
+
+ if (StringUtils.isNotEmpty(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD)))
+ {
+ developers = Boolean.parseBoolean(configuration.get(AbstractContinuumNotifier.DEVELOPER_FIELD));
+ }
}
protected void setNotifierConfiguration( ProjectNotifier notifier )
@@ -67,6 +74,8 @@ public class MailProjectNotifierEditActi
configuration.put( AbstractContinuumNotifier.COMMITTER_FIELD, String.valueOf( committers ) );
+ configuration.put(AbstractContinuumNotifier.DEVELOPER_FIELD, String.valueOf(developers));
+
notifier.setConfiguration( configuration );
}
@@ -89,4 +98,14 @@ public class MailProjectNotifierEditActi
{
this.committers = committers;
}
+
+ public boolean isDevelopers()
+ {
+ return developers;
+ }
+
+ public void setDevelopers(boolean developers)
+ {
+ this.developers = developers;
+ }
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java Thu May 6 09:23:13 2010
@@ -111,7 +111,9 @@ public class DefaultAppareanceConfigurat
{
confFile.getParentFile().mkdirs();
}
- writer.write( new FileWriter( confFile ), continuumAppearance );
+ FileWriter fileWriter = new FileWriter( confFile );
+ writer.write( fileWriter, continuumAppearance );
+ fileWriter.close();
this.footer = footerHtmlContent;
}
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/mdo/view-models.mdo
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/mdo/view-models.mdo?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/mdo/view-models.mdo (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/mdo/view-models.mdo Thu May 6 09:23:13 2010
@@ -262,7 +262,7 @@
<required>true</required>
<description>number of successful builds in the project group</description>
<type>int</type>
- <defaultValue>-1</defaultValue>
+ <defaultValue>0</defaultValue>
</field>
<field>
<name>numFailures</name>
@@ -270,7 +270,7 @@
<required>true</required>
<description>number of failed builds in the project group</description>
<type>int</type>
- <defaultValue>-1</defaultValue>
+ <defaultValue>0</defaultValue>
</field>
<field>
<name>numErrors</name>
@@ -278,7 +278,7 @@
<required>true</required>
<description>number of errored builds in the project group</description>
<type>int</type>
- <defaultValue>-1</defaultValue>
+ <defaultValue>0</defaultValue>
</field>
<field>
<name>repositoryId</name>
@@ -495,13 +495,13 @@
</fields>
</class>
<class>
- <name>DistributedBuildSummary</name>
+ <name>PrepareBuildSummary</name>
<version>1.0.0+</version>
<fields>
<field>
- <name>url</name>
+ <name>buildAgentUrl</name>
<version>1.0.0</version>
- <required>true</required>
+ <required>false</required>
<description>URL of the build agent</description>
<type>String</type>
</field>
@@ -527,11 +527,17 @@
<type>String</type>
</field>
<field>
- <name>cancelEnabled</name>
+ <name>scmRootId</name>
<version>1.0.0</version>
<required>true</required>
- <description>Determines if the cancel button is enabled</description>
- <type>boolean</type>
+ <description>ID of the scm root</description>
+ <type>int</type>
+ </field>
+ <field>
+ <name>hashCode</name>
+ <version>1.0.0</version>
+ <required>false</required>
+ <type>int</type>
</field>
</fields>
</class>
@@ -601,5 +607,53 @@
</field>
</fields>
</class>
+ <class>
+ <name>DistributedBuildSummary</name>
+ <version>1.0.0+</version>
+ <fields>
+ <field>
+ <name>projectId</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>int</type>
+ </field>
+ <field>
+ <name>projectName</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>String</type>
+ </field>
+ <field>
+ <name>projectGroupName</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>String</type>
+ </field>
+ <field>
+ <name>buildDefinitionId</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>int</type>
+ </field>
+ <field>
+ <name>buildDefinitionLabel</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>String</type>
+ </field>
+ <field>
+ <name>buildAgentUrl</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>String</type>
+ </field>
+ <field>
+ <name>hashCode</name>
+ <version>1.0.0</version>
+ <required>true</required>
+ <type>int</type>
+ </field>
+ </fields>
+ </class>
</classes>
</model>
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Thu May 6 09:23:13 2010
@@ -94,11 +94,10 @@
results in "[continuum] BUILD SUCCESSFUL: Hello World, Build Def - Nightly Test Build"
-->
<buildSubjectFormat>[continuum] BUILD ${state}: ${project.projectGroup.name} - ${project.name} - ${build.buildDefinition.description}</buildSubjectFormat>
- <prepareBuildSubjectFormat>[continuum] PREPARE BUILD ${state}: ${project.projectGroup.name}</prepareBuildSubjectFormat>
- <includeBuildResult>true</includeBuildResult>
+ <prepareBuildSubjectFormat>[continuum] PREPARE BUILD ${state}: ${projectScmRoot.projectGroup.name}</prepareBuildSubjectFormat>
<includeBuildSummary>true</includeBuildSummary>
<includeTestSummary>true</includeTestSummary>
- <includeOutput>false</includeOutput>
+ <includeBuildOutput>false</includeBuildOutput>
<alwaysSend>false</alwaysSend>
<!--
Setting this propery will make Continuum send all emails to
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum.properties Thu May 6 09:23:13 2010
@@ -197,6 +197,9 @@ projectGroup.tab.releaseResults = Releas
projectGroup.scmRoot.title = Project Group Scm Root
projectGroup.scmRoot.label = Scm Root URL
projectGroup.cancelGroupBuild = Cancel Group Build
+projectGroup.invalid.id = Invalid Project Group Id: {0}
+projectGroup.build.error.noBuildAgent = Unable to build projects because no build agent is configured
+projectGroup.build.error.noBuildAgentInGroup = Unable to build projects because no build agent is configured in the build agent group
# ----------------------------------------------------------------------
# Page: Project Group - Members
@@ -239,6 +242,11 @@ confirmGroupRemoval.section.title=Projec
confirmGroupRemoval.confirmation.message=Are you sure you want to delete the project group "{0}"?
# ----------------------------------------------------------------------
+# Page: Delete Project Group
+# ----------------------------------------------------------------------
+projectGroup.delete.error = Unable to remove project group
+
+# ----------------------------------------------------------------------
# Page: Configuration
# ----------------------------------------------------------------------
configuration.page.title = Continuum - Configuration
@@ -293,6 +301,7 @@ add.project.artifact.not.found.error = M
add.project.project.building.error = Unknown error trying to build POM.
add.project.unknown.error = The specified resource cannot be accessed. Please try again later or contact your administrator.
add.project.nogroup.error = No project group specified.
+add.project.duplicate.error = Trying to add duplicate projects in the same project group.
# ----------------------------------------------------------------------
# Page: AddMavenOneProject
@@ -330,7 +339,6 @@ add.m2.project.upload.modules.error = Ca
add.m2.project.nonRecursiveProject = For multi-module project, load only root as recursive build
add.m2.project.buildDefinitionTemplate = Build Definition Template
add.m2.project.defaultBuildDefinition = Default
-add.m2.project.checkoutInSingleDirectory = Checkout multi-module project in single directory
# ----------------------------------------------------------------------
# Page: AddProject (ant or shell)
@@ -379,6 +387,7 @@ add.project.defaultBuildDefinition = Def
deleteProject.page.title = Continuum - Delete Continuum Project
deleteProject.section.title = Delete Continuum Project
deleteProject.confirmation.message = Are you sure you want to delete the project "{0}"?
+deleteProject.error = Unable to delete project with id {0}
# ----------------------------------------------------------------------
# Page: ProjectView
@@ -458,6 +467,10 @@ buildDefinition.description.label = Desc
buildDefinition.alwaysBuild.label = Always Build
buildDefinition.noname.save.error.message = There was an error saving the schedule, no schedule name was supplied.
buildDefinition.duplicatename.save.error.message = There was an error saving the schedule, a schedule with the same name already exists.
+buildDefinition.updatePolicy.label = Update Policy
+buildDefinition.updatePolicy.always = Always
+buildDefinition.updatePolicy.never = Never
+buildDefinition.updatePolicy.newPom = Only for new Pom
# ----------------------------------------------------------------------
# Page: BuildSummary
@@ -490,6 +503,7 @@ notifier.section.title = Add/Edit {0} No
notifier.type.label = Type
notifier.mail.recipient.address.label = Mail Recipient Address
notifier.mail.recipient.committers.label = Send a mail to latest committers
+notifier.mail.recipient.developers.label = Send a mail to project developers
notifier.irc.host.label = IRC Host
notifier.irc.port.label = IRC port
notifier.irc.channel.label = IRC channel
@@ -531,6 +545,7 @@ buildResults.startedSince = Started sinc
buildResults.state = State
buildResults.result = Result
buildResults.buildDefinition.description = Build Definition Description
+buildResults.delete.error = Unable to delete Build Results
# ----------------------------------------------------------------------
# Page: BuildResults
@@ -544,6 +559,7 @@ buildResult.startedSince = Started since
buildResult.trigger = Build Trigger
buildResult.state = State
buildResult.buildNumber = Build#
+buildResult.username = Triggered by
buildResult.buildError = Build Error
buildResult.buildOutput = Output
buildResult.noOutput = No output.
@@ -626,7 +642,7 @@ schedule.name.message = Enter the name o
schedule.description.label = Description
schedule.description.message = Enter a description of the schedule
schedule.cronExpression.label = Cron Expression
-schedule.cronExpression.message = Enter the cron expression. Format is described there : <a href="http://www.opensymphony.com/quartz/api/org/quartz/CronTrigger.html" target="_blank">Syntax<a>
+schedule.cronExpression.message = Enter the cron expression. Format is described there : <a href="http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html" target="_blank">Syntax<a>
schedule.maxJobExecutionTime.label = Maximum job execution time (seconds)
schedule.maxJobExecutionTime.message = Enter the maximum number of seconds a job may execute in this schedule before it''s terminated.
schedule.quietPeriod.label = Quiet Period (seconds)
@@ -647,6 +663,7 @@ schedule.available.buildqueues = --- Ava
schedule.available.buildqueues.used = --- Used Build Queues ---
schedule.buildqueues.add.error = Error attaching the build queue(s) to schedule.
schedule.name.already.exists = A Schedule with the same name already exists
+schedule.buildqueues.empty.error = Used Build Queues cannot be empty
# ----------------------------------------------------------------------
# Page: Delete Schedule
@@ -706,6 +723,7 @@ releaseViewResult.output=Release Executi
releaseViewResult.noOutput=No Output
releaseViewResult.projectName=Project Name
releaseViewResult.releaseGoal=Release Goal
+releaseViewResult.username=Triggered by
releasePrepare.scmUsername.label=SCM Username
releasePrepare.scmPassword.label=SCM Password
releasePrepare.scmTag.label=SCM Tag
@@ -722,7 +740,7 @@ releasePerformFromScm.scmUsername.label=
releasePerformFromScm.scmPassword.label=SCM Password
releasePerformFromScm.scmTag.label=SCM Tag
releasePerformFromScm.scmTagBase.label=SCM Tag Base
-releasePerformFromScm.goals.label=Maven Arguments
+releasePerformFromScm.goals.label=Perform Goals
releasePerformFromScm.useReleaseProfile.label=Use Release Profile
releasePerformFromScm.buildEnvironment.label=Build Environment
releasePerformFromScm.page.title=Continuum - Perform Project Release
@@ -866,7 +884,7 @@ deletebuildDefinition.template.confirmat
# Page: Queues
# ----------------------------------------------------------------------
buildQueue.page.title = Continuum - Build Queue
-buildQueue.section.title = Continuum - Build Queue
+buildQueue.section.title = Build Queue
buildQueue.empty = Build Queue is empty
buildQueue.currentTask.section.title = Current Build
buildQueue.currentTask.buildQueue = Build Queue
@@ -881,6 +899,13 @@ checkoutQueue.no.currentTaks = No curren
checkoutQueue.section.title = Checkout Queue
checkoutQueue.empty = Checkout Queue is empty
checkoutQueue.removeEntries = Cancel Entries
+prepareBuildQueue.currentTask.section.title = Current Prepare Build
+prepareBuildQueue.section.title = Prepare Build Queue
+prepareBuildQueue.table.projectGroupName = Project Group
+prepareBuildQueue.table.scmRootAddress = SCM Root URL
+prepareBuildQueue.empty = Prepare Build Queue is empty
+prepareBuildQueue.no.currentTasks = No current prepare build
+prepareBuildQueue.removeEntries = Cancel Entries
# ----------------------------------------------------------------------
# Page: Build Queue
@@ -894,7 +919,8 @@ buildQueue.delete.error = Unable to dele
buildResult.delete.confirmation.page.title = Continuum - Delete Build Results
buildResult.delete.confirmation.section.title = Delete Build Results
buildResult.delete.confirmation.message = Are you sure you want to delete {0} build results ?
-buildResult.cannot.delete = Cannot delete a build result which is currently building.
+buildResult.cannot.delete = Cannot delete the build result of a currently building project.
+buildResult.delete.error = Unable to delete Build Result with id {0}
# ----------------------------------------------------------------------
# Legend
@@ -957,7 +983,7 @@ repository.error.location.cannot.be.spac
repository.error.save.in.use = Unable to edit local repository because it is currently in use
repository.error.remove.in.use = Unable to remove local repository because it is currently in use
repository.error.purge.in.use = Unable to purge local repository because it is currently in use
-repository.error.remove.default = Cannot remove default local repository.
+repository.error.remove.default = Cannot remove default local repository
#-----------------------------------------------------------------------
# Page: Delete Local Repository
@@ -997,7 +1023,7 @@ purgeConfig.deleteReleasedSnapshots.labe
purgeConfig.defaultPurge.label = Is it Default?
purgeConfig.schedule.label = Schedule
purgeConfig.description.label = Description
-purgeConfig.enabled.label = Enabled
+purgeConfig.enabled.label = Enabled Purge Configuration
purgeConfig.no.repositories = No repositories to purge
#-----------------------------------------------------------------------
@@ -1058,7 +1084,7 @@ appearance.description = The logo in the
appearance.noCompanyPom = You have not yet specified a company POM.
appearance.selectCompanyPom = Select a Company POM
appearance.detailsIntroduction = Your selected company POM is below.
-appearance.maybeChange = If you would like to change the organization name, url or logo, you can
+appearance.maybeChange = If you would like to change the organization name, URL or logo, you can
appearance.editThePomLink = edit the POM
appearance.companyPom.groupId = Group ID
appearance.companyPom.artifactId = Artifact ID
@@ -1150,12 +1176,22 @@ deleteBuildAgent.confirmation.message =
# Page: View Distributed Build
# ----------------------------------------------------------------------
distributedBuilds.page.title = Continuum - View Distributed Builds
-distributedBuilds.section.title = View Distributed Builds
+distributedBuilds.currentPrepareBuild.section.title = Current Prepare Build
+distributedBuilds.currentBuild.section.title = Current Build
+distributedBuilds.prepareBuildQueue.section.title = Prepare Build Queue
distributedBuilds.buildQueue.section.title = Build Queue
+distributedPrepareBuild.table.projectGroupName = Project Group Name
+distributedPrepareBuild.table.scmRootAddress = SCM Root URL
+distributedPrepareBuild.table.buildAgentUrl = Build Agent URL
+distributedPrepareBuilds.empty = Prepare Build Queue is empty
+distributedPrepareBuilds.no.currentTasks = No current prepare build
+distributedPrepareBuilds.removeEntries = Cancel Entries
+distributedBuild.table.projectName = Project Name
+distributedBuild.table.buildDefinitionLabel = Build Definition Label
distributedBuild.table.projectGroupName = Project Group Name
-distributedBuild.table.scmRootAddress = Scm Root Address
-distributedBuild.table.agentUrl = Build Agent URL
-distributedBuilds.empty = No Distributed Builds
+distributedBuild.table.buildAgentUrl = Build Agent URL
+distributedBuilds.empty = Build Queue is empty
+distributedBuilds.no.currentTasks = No current build
distributedBuilds.removeEntries = Cancel Entries
# ----------------------------------------------------------------------
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_de.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_de.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_de.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_de.properties Thu May 6 09:23:13 2010
@@ -77,7 +77,7 @@ menu.administration.schedules = Zeitpl\u
menu.administration.users = Benutzer
menu.administration.userGroups = Benutzergruppen
menu.administration.roles = Rollen
-menu.administration.buildDefinitionTemplates = Vorgangsschablonen
+menu.administration.buildDefinitionTemplates = Vorgangsvorlagen
menu.account.options = Meine Daten
user.edit.account = Benutzerinformationen bearbeiten
menu.administration.queues = Warteschlangen
@@ -144,7 +144,7 @@ groups.table.name = Name
groups.table.groupId = Bezeichner
groups.table.totalProjects = Summe
groups.table.summary = Zusammenfassung
-groups.page.list.empty = Die Liste der Projektgruppen ist leer.
+groups.page.list.empty = Leere Projektgruppen-Liste.
groups.section.title = Projektgruppe:
groups.manage.label = Gruppe verwalten
groups.table.repositoryName = Lokales Repository
@@ -247,7 +247,7 @@ add.project.field.required.error = Es mu
add.project.unknown.host.error = Zugriff auf den angegebenen Host nicht m\u00F6glich.
add.project.connect.error = Es konnte keine Verbindung zum entfernten System hergestellt werden.
add.project.malformed.url.error = Ung\u00FCltiger URL.
-add.project.xml.parse.error = XML des POM kann nicht verarbeitet werden.
+add.project.xml.parse.error = POM XML kann nicht verarbeitet werden.
add.project.extend.error = Es kann kein POM mit einem ''extend'' Element verwendet werden.
add.project.missing.pom.error = Die angegebene POM-Datei oder ein Modul daraus existiert nicht.
add.project.missing.groupid.error = Kein ''groupId'' Element im POM.
@@ -281,7 +281,7 @@ add.m1.project.m1PomFile.label = POM-Dat
add.m1.project.m1PomFile.message = Bitte geben Sie den lokalen Dateinamen des zu \u00FCbertragenden Maven 1 POM an.
add.m1.project.m1PomFile.error = Es mu\u00DF ein g\u00FCltiger URL angegeben werden.
add.m1.project.projectGroup = Projektgruppe
-add.m1.project.buildDefinitionTemplate = Vorgangsschablone
+add.m1.project.buildDefinitionTemplate = Vorgangsvorlage
add.m1.project.defaultBuildDefinition = Standard
# ----------------------------------------------------------------------
@@ -301,7 +301,7 @@ add.m2.project.projectGroup = Projektgru
# TODO: remove this part once uploading of an m2 project with modules is supported ( CONTINUUM-1098 )
add.m2.project.upload.modules.error = Es kann kein Maven 2 Projekt mit Modulen \u00FCbertragen werden.
add.m2.project.nonRecursiveProject = Bei Projekten mit mehreren Modulen nur das Eltern-Projekt laden.
-add.m2.project.buildDefinitionTemplate = Vorgangsschablone
+add.m2.project.buildDefinitionTemplate = Vorgangsvorlage
add.m2.project.defaultBuildDefinition = Standard
# ----------------------------------------------------------------------
@@ -339,7 +339,7 @@ projectVersion.error = Es mu\u00DF eine
projectVersion.message = Bitte geben Sie die Version des Projekts an.
projectScmUseCache.label = Legitimationsdaten zwischenspeichern, falls m\u00F6glich.
-add.project.buildDefinitionTemplate = Vorgangsschablone
+add.project.buildDefinitionTemplate = Vorgangsvorlage
add.project.defaultBuildDefinition = Standard
# ----------------------------------------------------------------------
@@ -531,7 +531,7 @@ buildResult.dependencies.groupId = Grupp
buildResult.dependencies.artifactId = Artefakt-Bezeichner
buildResult.dependencies.version = Version
buildResult.changesSinceLastSuccess = Weitere \u00C4nderungen seit letzer erfolgreicher Ausf\u00FChrung
-buildResult.generatedReports.title = Generierte Berichte
+buildResult.generatedReports.title = Berichte
buildResult.generatedReports.surefire = Surefire-Bericht
buildResult.buildOutput.text = Als Text herunterladen
buildResult.buildDefinition = Vorgangsdefinition
@@ -549,7 +549,7 @@ buildResult.buildDefinition.description
# From ContinuumProjectState
buildResult.trigger.0 = durch Warteschlange
-buildResult.trigger.1 = erzwungen
+buildResult.trigger.1 = durch Benutzer
buildResult.state.1 = Neu
buildResult.state.2 = Ok
buildResult.state.3 = Fehlversuch
@@ -592,7 +592,7 @@ schedule.name.message = Bitte geben Sie
schedule.description.label = Beschreibung
schedule.description.message = Bitte geben Sie eine Beschreibung des Zeitplans an.
schedule.cronExpression.label = Cron-Ausdruck
-schedule.cronExpression.message = Bitte geben Sie den Cron-Ausdruck an. Eine Beschreibung des Formats finden Sie <a href="http://www.opensymphony.com/quartz/api/org/quartz/CronTrigger.html" target="_blank">hier<a>.
+schedule.cronExpression.message = Bitte geben Sie den Cron-Ausdruck an. Eine Beschreibung des Formats finden Sie <a href="http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html" target="_blank">hier<a>.
schedule.maxJobExecutionTime.label = Maximale Ausf\u00FChrungszeit (Sekunden)
schedule.maxJobExecutionTime.message = Bitte geben Sie die maximale Anzahl Sekunden an, die ein Vorgang dieses Zeitplans ausgef\u00FChrt werden kann, bevor er abgebrochen wird.
schedule.quietPeriod.label = Ruhezeit (Sekunden)
@@ -666,7 +666,7 @@ releasePerformFromScm.scmUsername.label=
releasePerformFromScm.scmPassword.label=SCM Passwort
releasePerformFromScm.scmTag.label=SCM Markierung
releasePerformFromScm.scmTagBase.label=SCM Markierungs-Basis
-releasePerformFromScm.goals.label=Maven Argumente
+releasePerformFromScm.goals.label=Perform Goals
releasePerformFromScm.useReleaseProfile.label=Ver\u00F6ffentlichungs-Profil verwenden
releasePerformFromScm.buildEnvironment.label=Umgebung
@@ -752,7 +752,7 @@ installationTypeChoice.envar.label = Umg
# ----------------------------------------------------------------------
# Page: Build Definitions Templates Summary
# ----------------------------------------------------------------------
-buildDefinition.templates.page.title = Continuum - Vorgangsschablonen
+buildDefinition.templates.page.title = Continuum - Vorgangsvorlagen
buildDefinition.templates.continuum.section.title = Continuum Standard Vorgangsdefinition
buildDefinition.templates.goals = Goals
buildDefinition.templates.arguments = Argumente
@@ -763,14 +763,14 @@ buildDefinition.templates.buildFresh = V
buildDefinition.templates.alwaysBuild = Immer ausf\u00FChren
buildDefinition.templates.description = Beschreibung
buildDefinition.templates.type = Typ
-buildDefinition.templates.section.title = Verf\u00FCgbare Vorgangsschablonen
+buildDefinition.templates.section.title = Verf\u00FCgbare Vorgangsvorlagen
buildDefinition.templates.buildDefinitions.section.title = Verf\u00FCgbare Vorgangsdefinitionen
# ----------------------------------------------------------------------
# Page: Edit Build Definition Template
# ----------------------------------------------------------------------
-buildDefinition.template.page.title = Continuum - Vorgangsschablone hinzuf\u00FCgen/bearbeiten
-buildDefinition.template.section.title = Vorgangsschablone hinzuf\u00FCgen/bearbeiten
+buildDefinition.template.page.title = Continuum - Vorgangsvorlage hinzuf\u00FCgen/bearbeiten
+buildDefinition.template.section.title = Vorgangsvorlage hinzuf\u00FCgen/bearbeiten
buildDefinition.template.name = Name
buildDefinition.template.buildDefinition.goals = Goals
buildDefinition.template.buildDefinition.arguments = Argumente
@@ -791,7 +791,7 @@ buildDefinitionTemplate.builddefinitions
# ----------------------------------------------------------------------
buildQueue.page.title = Continuum - Warteschlangen
buildQueue.section.title = Ausstehende Vorg\u00E4nge
-buildQueue.empty = Die Warteschlange ist leer.
+buildQueue.empty = Die Vorgangs-Warteschlange ist leer.
buildQueue.currentTask.section.title = Aktuelle Vorg\u00E4nge
buildQueue.currentTask.projectName = Projektname
buildQueue.currentTask.buildDefinition = Vorgangsdefinition
@@ -891,9 +891,9 @@ purgeConfigs.repo.section.title = Reposi
purgeConfigs.dir.section.title = Verzeichnis Bereinigungskonfigurationen
purgeConfigs.table.repository = Repository
purgeConfigs.table.description = Beschreibung
-purgeConfigs.table.retentionCount = Aufbewahrungstage
+purgeConfigs.table.retentionCount=Aufzubewahrende Artefakte/Verzeichnisse
purgeConfigs.table.schedule = Zeitplan
-purgeConfigs.table.daysOlder = \u00C4lter als (in Tagen)
+purgeConfigs.table.daysOlder = \u00C4lter als
purgeConfigs.table.deleteAll = Alle l\u00F6schen
purgeConfigs.table.directoryType = Verzeichnistyp
purgeConfigs.table.default = Standard
@@ -907,7 +907,7 @@ purgeConfig.page.title = Continuum - Ber
purgeConfig.section.title = Bereinigungskonfiguration hinzuf\u00FCgen/bearbeiten
purgeConfig.repository.label = Repository
purgeConfig.directoryType.label = Verzeichnistyp
-purgeConfig.retentionCount.label = Aufbewahrungstage
+purgeConfig.retentionCount.label=Aufzubewahrende Artefakte/Verzeichnisse
purgeConfig.daysOlder.label = \u00C4lter als (in Tagen)
purgeConfig.deleteAll.label = Alle l\u00F6schen
purgeConfig.deleteReleasedSnapshots.label = Ver\u00F6ffentlichte Snapshots l\u00F6schen
@@ -955,7 +955,7 @@ scmResult.page.title = Continuum - SCM E
scmResult.section.title = SCM Ergebnis
scmResult.state = Status
scmResult.projectGroupName = Projektgruppenname
-scmResult.scmRootAddress = SCM Wurzel-Verzeichnis-URL
+scmResult.scmRootAddress = SCM Hauptverzeichnis-URL
scmResult.scmError = SCM Fehler
# ----------------------------------------------------------------------
@@ -988,13 +988,13 @@ companyPom.page.title=Firmen-POM bearbei
companyPom.section.title=Firmen-POM
companyPom.autoIncrementVersion=Die Version wird beim Speichern automatisch inkrementiert.
notifier.event.sendOnScmFailure=Bei SCM-Fehler senden
-projectGroup.scmRoot.label=SCM Wurzel-Verzeichnis-URL
-projectGroup.scmRoot.title=SCM Wurzel-Verzeichnisse
+projectGroup.scmRoot.label=SCM Hauptverzeichnis-URL
+projectGroup.scmRoot.title=SCM Hauptverzeichnisse
releasePrepare.useEditMode.label=''Editmodus'' verwenden
projectGroup.cancelGroupBuild=Gruppenvorg\u00E4nge abbrechen
configuration.allowed.build.parallel=Maximal erlaubte Anzahl parallel ausgef\u00FChrter Vorg\u00E4nge
configuration.disable.parallel.builds=Parallel ausf\u00FChrbare Vorg\u00E4nge deaktivieren
-configuration.allowed.build.paralle.message=Bitte geben Sie die maximal erlaubte Anzahl parallel ausgef\u00FChrter Vorg\u00E4nge an.
+configuration.allowed.build.paralle.message=Bitte geben Sie die maximal erlaubte Anzahl parallel ausf\u00FChrbarer Vorg\u00E4nge an.
configuration.numberOfBuildsInParallel.invalid=Die erlaubte Anzahl parallel ausf\u00FChrbarer Vorg\u00E4nge mu\u00DF gr\u00F6\u00DFer als Null sein.
configuration.distributedBuildEnabled.label=Vorgangsverteilung aktiv
projectDescription.label=Beschreibung
@@ -1013,7 +1013,7 @@ buildQueue.currentTask.buildQueue=Wartes
checkoutQueue.currentTask.buildQueue=Warteschlange
buildQueue.cannot.delete=Die Warteschlange kann nicht gel\u00F6scht werden, da Vorg\u00E4nge ausgef\u00FChrt werden.
buildQueue.delete.error=Die Warteschlange konnte nicht aus der Datenbank entfernt werden.
-deletePurgeConfiguration.page.title=Continnum - Bereinigungskonfiguration l\u00F6schen
+deletePurgeConfiguration.page.title=Continuum - Bereinigungskonfiguration l\u00F6schen
deletePurgeConfiguration.section.title=Bereinigungskonfiguration l\u00F6schen
deletePurgeConfiguration.confirmation.message=Soll die ''{0}'' Bereinigungskonfiguration wirklich gel\u00F6scht werden ?
parallel.build.queues.page.title=Continuum - Warteschlangen
@@ -1040,12 +1040,9 @@ deleteBuildAgent.page.title=Continuum -
deleteBuildAgent.section.title=Vorgangsagent l\u00F6schen
deleteBuildAgent.confirmation.message=Soll der ''{0}'' Vorgangsagent wirklich gel\u00F6scht werden ?
distributedBuilds.page.title=Continuum - Warteschlangen
-distributedBuilds.section.title=Aktuelle Vorg\u00E4nge
distributedBuilds.buildQueue.section.title=Ausstehende Vorg\u00E4nge
distributedBuild.table.projectGroupName=Projektgruppenname
-distributedBuild.table.scmRootAddress=Scm Wurzel Adresse
-distributedBuild.table.agentUrl=Vorgangsagent URL
-distributedBuilds.empty=Aktuell werden keine Vorg\u00E4nge ausgef\u00FChrt.
+distributedBuilds.empty=Die Vorgangs-Warteschlange ist leer.
distributedBuilds.removeEntries=Eintr\u00E4ge abbrechen
buildDefinitionSummary.project.section.title=Projekt Vorgangsdefinitionen
buildDefinitionSummary.project=Projekt
@@ -1075,9 +1072,9 @@ installation.varName.required=Es mu\u00D
deleteInstallation.page.title=Continuum - Installation l\u00F6schen
deleteInstallation.section.title=Installation l\u00F6schen
deleteInstallation.confirmation.message=Soll die ''{0}'' Installation wirklich gel\u00F6scht werden ?
-deletebuildDefinition.template.page.title=Continuum - Vorgangsschablone l\u00F6schen
-deletebuildDefinition.template.section.title=Vorgangsschablone l\u00F6schen
-deletebuildDefinition.template.confirmation.message=Soll die ''{0}'' Vorgangsschablone wirklich gel\u00F6scht werden ?
+deletebuildDefinition.template.page.title=Continuum - Vorgangsvorlage l\u00F6schen
+deletebuildDefinition.template.section.title=Vorgangsvorlage l\u00F6schen
+deletebuildDefinition.template.confirmation.message=Soll die ''{0}'' Vorgangsvorlage wirklich gel\u00F6scht werden ?
deleteBuildQueue.page.title=Continuum - Warteschlange l\u00F6schen
deleteBuildQueue.section.title=Warteschlange l\u00F6schen
deleteBuildQueue.confirmation.message=Soll die ''{0}'' Warteschlange wirklich gel\u00F6scht werden ?
@@ -1100,13 +1097,13 @@ buildAgentGroup.error.name.cannot.be.spa
buildAgentGroup.available.buildAgents=--- Verf\u00FCgbare Vorgangsagenten ---
buildAgentGroup.available.buildAgents.used=--- Verwendete Vorgangsagenten ---
buildAgentGroup.buildAgents.define=Konfiguration der zu verwendenden Vorgangsagenten
-buildAgentGroup.error.remove.in.use=Die Vorgangsagenten-Gruppe kann nicht gel\u00F6scht werden - wird mit einer Umgebung verwendet.
+buildAgentGroup.error.remove.in.use=Die Vorgangsagenten-Gruppe kann nicht gel\u00F6scht werden - sie wird mit einer Umgebung verwendet.
releases.page.title=Continuum - Ver\u00F6ffentlichungen
releases.section.title=Ver\u00F6ffentlichungen
releaseSummary.table.releaseId=Ver\u00F6ffentlichungs ID
releaseSummary.table.releaseGoal=Ver\u00F6ffentlichungs-Goal
releaseSummary.table.buildAgentUrl=URL des Vorgangsagenten
-distributedBuild.releasePrepare.input.error=Projektverarbeitung nicht m\u00F6glich. Der {0} Vorgangsagent wurde entweder entfernt bzw. deaktiviert, oder es wurde noch kein Vorgang ausgef\u00FChrt
+distributedBuild.releasePrepare.input.error=Projektverarbeitung nicht m\u00F6glich. Der {0} Vorgangsagent wurde entweder entfernt bzw. deaktiviert, oder es wurde noch kein Vorgang ausgef\u00FChrt.
distributedBuild.releasePrepare.error=Ver\u00F6ffentlichungs-Vorbereitung nicht m\u00F6glich.
distributedBuild.releasePrepare.release.error=Ver\u00F6ffentlichungs-Vorbereitung nicht m\u00F6glich. Der {0} Vorgangsagent wurde zwischenzeitlich entfernt oder deaktiviert.
distributedBuild.releaseInProgress.error=Anzeige des Ver\u00F6ffentlichungs-Vorgangs nicht m\u00F6glich. Der {0} Vorgangsagent wurde zwischenzeitlich entfernt oder deaktiviert.
@@ -1125,9 +1122,37 @@ releasePerformFromScm.section.title=Proj
releasePerformFromScm.parameters.section.title=Parameter
authorizationError.page.title=Continuum - Autorisierungs-Fehler
authorizationError.section.title=Autorisierungs-Fehler
-authorizationError.not.authorized=Autorisierung fehlgeschlagen. Bitte kontaktieren Sie Ihren Administrator, um entsprechende Berechtigungen zugewiesen zu bekommen.
+authorizationError.not.authorized=Autorisierung fehlgeschlagen. Bitte kontaktieren Sie Ihren Administrator, um entsprechende Berechtigungen erteilt zu bekommen.
errorOccured.page.title=Continuum - Fehler
errorOccured.section.title=Fehler
menu.continuum=Continuum
releaseError.page.title=Continuum - Ver\u00F6ffentlichung fehlgeschlagen
releaseError.section.title=Ver\u00F6ffentlichung fehlgeschlagen
+add.project.duplicate.error=Ein identisches Projekt existiert in dieser Gruppe bereits.
+distributedPrepareBuild.table.scmRootAddress=SCM Hauptverzeichnis-URL
+distributedBuilds.currentBuild.section.title=Aktuelle Vorg\u00E4nge
+projectGroup.delete.error=Die Projektgruppe konnte nicht gel\u00F6scht werden.
+buildResult.delete.error=Das ''{0}'' Vorgangsergebnis konnte nicht gel\u00F6scht werden.
+prepareBuildQueue.table.projectGroupName=Projektgruppe
+distributedPrepareBuild.table.projectGroupName=Projektgruppen-Name
+prepareBuildQueue.table.scmRootAddress=SCM Hauptverzeichnis-URL
+deleteProject.error=Das ''{0}'' Projekt konnte nicht gel\u00F6scht werden.
+buildResults.delete.error=Die Vorgangsergebnisse konnten nicht gel\u00F6scht werden.
+distributedPrepareBuilds.no.currentTasks=Aktuell wird kein Vorgang vorbereitet.
+distributedBuilds.currentPrepareBuild.section.title=Aktuelle Vorbereitungen
+distributedBuilds.prepareBuildQueue.section.title=Ausstehende Vorbereitungen
+distributedPrepareBuild.table.buildAgentUrl=Vorgangsagent URL
+distributedBuild.table.buildAgentUrl=Vorgangsagent URL
+distributedBuild.table.projectName=Projektname
+prepareBuildQueue.currentTask.section.title=Aktuelle Vorbereitungen
+prepareBuildQueue.removeEntries=Auswahl abbrechen
+prepareBuildQueue.section.title=Ausstehende Vorbereitungen
+distributedBuild.table.buildDefinitionLabel=Vorgangsdefinition
+distributedBuilds.no.currentTasks=Aktuell wird kein Vorgang ausgef\u00FChrt.
+distributedPrepareBuilds.empty=Die Vorbereitungs-Warteschlange ist leer.
+prepareBuildQueue.empty=Die Vorbereitungs-Warteschlange ist leer.
+distributedPrepareBuilds.removeEntries=Auswahl abbrechen
+prepareBuildQueue.no.currentTasks=Aktuell wird kein Vorgang vorbereitet.
+releasePrepare.input.error=Die ''Release-Plugin'' Parameter konnten nicht ermittelt werden - Verarbeitung fehlgeschlagen - {0}
+projectGroup.invalid.id=Ung\u00FCltiger Gruppen-Bezeichner: {0}
+schedule.buildqueues.empty.error=Es m\u00FCssen zu verwendende Warteschlangen angegeben werden.
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_fr.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_fr.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_fr.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_fr.properties Thu May 6 09:23:13 2010
@@ -198,6 +198,7 @@ projectGroup.tab.releaseResults = R\u009
projectGroup.scmRoot.title = Racine SCM du groupe de projet
projectGroup.scmRoot.label = URL de la racine SCM
projectGroup.cancelGroupBuild = Annuler la construction du groupe
+projectGroup.invalid.id = Id du groupe de projets invalide : {0}
# ----------------------------------------------------------------------
# Page: Project Group - Members
@@ -626,7 +627,7 @@ schedule.name.message = Entrer le nom de
schedule.description.label = Description
schedule.description.message = Entrer une description pour la planification
schedule.cronExpression.label = Expression Cron
-schedule.cronExpression.message = Entrer l''expression Cron Le format est d\u00e9crit l\u00e0 : <a href="http://www.opensymphony.com/quartz/api/org/quartz/CronTrigger.html" target="_blank">Syntaxe<a>
+schedule.cronExpression.message = Entrer l''expression Cron Le format est d\u00e9crit l\u00e0 : <a href="http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html" target="_blank">Syntaxe<a>
schedule.maxJobExecutionTime.label = Temp d''ex\u00e9cution du travail maximum
schedule.maxJobExecutionTime.message = Entrer le nombre maximal de secondes que le travail peut prendre pour s''executer dans cette planification avant d''\u00eatre tu\u00e9.
schedule.quietPeriod.label = P\u00e9riode d''attente (secondes)
@@ -722,7 +723,7 @@ releasePerformFromScm.scmUsername.label=
releasePerformFromScm.scmPassword.label=Mot de passe SCM
releasePerformFromScm.scmTag.label=SCM Tag
releasePerformFromScm.scmTagBase.label=SCM Tag Base
-releasePerformFromScm.goals.label=Arguments Maven
+releasePerformFromScm.goals.label=Perform Goals
releasePerformFromScm.useReleaseProfile.label=Utilisation du profile "release"
releasePerformFromScm.buildEnvironment.label=Environment de construction
releasePerformFromScm.page.title=Continuum - Effectuer la "release" du projet
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_pt_BR.properties Thu May 6 09:23:13 2010
@@ -556,7 +556,7 @@ releaseViewResult.summary = Detalh
save = Salvar
schedule.cronExpression.label = Express\u00E3o Cron
-schedule.cronExpression.message = Informe a express\u00E3o cron. O formato est\u00E1 descrito aqui: <a href="http://www.opensymphony.com/quartz/api/org/quartz/CronTrigger.html" target="_blank">Sintaxe<a>
+schedule.cronExpression.message = Informe a express\u00E3o cron. O formato est\u00E1 descrito aqui: <a href="http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html" target="_blank">Sintaxe<a>
schedule.dayOfMonth.label = Dia do M\u00EAs
schedule.dayOfWeek.label = Dia da Semana
schedule.description.label = Descri\u00E7\u00E3o
Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_zh_CN.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_zh_CN.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_zh_CN.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp/src/main/resources/localization/Continuum_zh_CN.properties Thu May 6 09:23:13 2010
@@ -597,7 +597,7 @@ schedule.name.message = \u8f93\u5165\u8b
schedule.description.label = \u63cf\u8ff0
schedule.description.message = \u8f93\u5165\u8ba1\u5212\u7684\u63cf\u8ff0
schedule.cronExpression.label = Cron\u8868\u8fbe\u5f0f
-schedule.cronExpression.message = \u8f93\u5165cron\u8868\u8fbe\u5f0f\u3002\u683c\u5f0f\u5982\u8fd9\u91cc\u63cf\u8ff0\uff1a<a href="http://www.opensymphony.com/quartz/api/org/quartz/CronTrigger.html" target="_blank">\u8bed\u6cd5<a>
+schedule.cronExpression.message = \u8f93\u5165cron\u8868\u8fbe\u5f0f\u3002\u683c\u5f0f\u5982\u8fd9\u91cc\u63cf\u8ff0\uff1a<a href="http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html" target="_blank">\u8bed\u6cd5<a>
schedule.maxJobExecutionTime.label = \u6700\u5927\u4f5c\u4e1a\u6267\u884c\u65f6\u95f4\uff08\u79d2\uff09
schedule.maxJobExecutionTime.message = \u4e00\u4e2a\u4f5c\u4e1a\u6267\u884c\u5b8c\u6210\u53ef\u80fd\u4f7f\u7528\u7684\u6700\u5927\u79d2\u6570\u3002
schedule.quietPeriod.label = \u5e73\u9759\u671f\uff08\u79d2\uff09
@@ -672,7 +672,7 @@ releasePerformFromScm.scmUsername.label=
releasePerformFromScm.scmPassword.label=SCM\u5bc6\u7801
releasePerformFromScm.scmTag.label=SCM\u6807\u7b7e
releasePerformFromScm.scmTagBase.label=SCM\u6807\u7b7eBase
-releasePerformFromScm.goals.label=Maven\u53c2\u6570
+releasePerformFromScm.goals.label=Perform Goals
releasePerformFromScm.useReleaseProfile.label=\u4f7f\u7528\u53d1\u5e03\u914d\u7f6e\u9009\u9879
releasePerformFromScm.buildEnvironment.label=\u6784\u5efa\u73af\u5883