Author: evenisse
Date: Fri Aug 10 07:58:57 2007
New Revision: 564614
URL: http://svn.apache.org/viewvc?view=rev&rev=564614
Log:
[CONTINUUM-990] Pass some continuum information to build tools (m1, m2, ant) when executing a build
Modified:
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java?view=diff&rev=564614&r1=564613&r2=564614
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java Fri Aug 10 07:58:57 2007
@@ -42,6 +42,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
/**
* @author Trygve Laugstøl
@@ -263,6 +264,16 @@
envVars.put( installation.getVarName(), installation.getVarValue() );
}
return envVars;
+ }
+
+ protected Properties getContinuumSystemProperties( Project project )
+ {
+ Properties properties = new Properties();
+ properties.setProperty( "continuum.project.group.name", project.getProjectGroup().getName() );
+ properties.setProperty( "continuum.project.lastBuild.state", String.valueOf( project.getOldState() ) );
+ properties.setProperty( "continuum.project.lastBuild.number", String.valueOf( project.getBuildNumber() ) );
+ properties.setProperty( "continuum.project.nextBuild.number", String.valueOf( project.getBuildNumber() + 1 ) );
+ return properties;
}
public boolean isBuilding( Project project )
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java?view=diff&rev=564614&r1=564613&r2=564614
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/ant/AntBuildExecutor.java Fri Aug 10 07:58:57 2007
@@ -32,8 +32,10 @@
import java.io.File;
import java.util.Collections;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
/**
* @author Trygve Laugstøl
@@ -72,17 +74,26 @@
String executable = getInstallationService().getExecutorConfigurator( InstallationService.ANT_TYPE )
.getExecutable();
- String arguments = "";
+ StringBuffer arguments = new StringBuffer();
String buildFile = buildDefinition.getBuildFile();
if ( !StringUtils.isEmpty( buildFile ) )
{
- arguments = "-f " + buildFile + " ";
+ arguments.append( "-f " ).append( buildFile ).append( " " );
}
- arguments +=
- StringUtils.clean( buildDefinition.getArguments() ) + " " + StringUtils.clean( buildDefinition.getGoals() );
+ arguments.append( StringUtils.clean( buildDefinition.getArguments() ) ).append( " " );
+
+ Properties props = getContinuumSystemProperties( project );
+ for ( Enumeration itr = props.propertyNames(); itr.hasMoreElements(); )
+ {
+ String name = (String) itr.nextElement();
+ String value = props.getProperty( name );
+ arguments.append( "\"-D" ).append( name ).append( "=" ).append( value ).append( "\" " );
+ }
+
+ arguments.append( StringUtils.clean( buildDefinition.getGoals() ) );
Map environments = getEnvironments( buildDefinition );
String antHome = environments.get( getInstallationService().getEnvVar( InstallationService.ANT_TYPE ) );
@@ -92,7 +103,7 @@
setResolveExecutable( false );
}
- return executeShellCommand( project, executable, arguments, buildOutput, environments );
+ return executeShellCommand( project, executable, arguments.toString(), buildOutput, environments );
}
protected Map getEnvironments( BuildDefinition buildDefinition )
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java?view=diff&rev=564614&r1=564613&r2=564614
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutor.java Fri Aug 10 07:58:57 2007
@@ -32,8 +32,10 @@
import java.io.File;
import java.util.Collections;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
/**
* @author Trygve Laugstøl
@@ -71,17 +73,26 @@
String executable = getInstallationService().getExecutorConfigurator( InstallationService.MAVEN1_TYPE )
.getExecutable();
- String arguments = "";
+ StringBuffer arguments = new StringBuffer();
String buildFile = StringUtils.clean( buildDefinition.getBuildFile() );
if ( !StringUtils.isEmpty( buildFile ) && !"project.xml".equals( buildFile ) )
{
- arguments = "-p " + buildFile + " ";
+ arguments.append( "-p " ).append( buildFile ).append( " " );
}
- arguments +=
- StringUtils.clean( buildDefinition.getArguments() ) + " " + StringUtils.clean( buildDefinition.getGoals() );
+ arguments.append( StringUtils.clean( buildDefinition.getArguments() ) ).append( " " );
+
+ Properties props = getContinuumSystemProperties( project );
+ for ( Enumeration itr = props.propertyNames(); itr.hasMoreElements(); )
+ {
+ String name = (String) itr.nextElement();
+ String value = props.getProperty( name );
+ arguments.append( "\"-D" ).append( name ).append( "=" ).append( value ).append( "\" " );
+ }
+
+ arguments.append( StringUtils.clean( buildDefinition.getGoals() ) );
Map environments = getEnvironments( buildDefinition );
String m1Home = environments.get( getInstallationService().getEnvVar( InstallationService.MAVEN1_TYPE ) );
@@ -91,7 +102,7 @@
setResolveExecutable( false );
}
- return executeShellCommand( project, executable, arguments, buildOutput, environments );
+ return executeShellCommand( project, executable, arguments.toString(), buildOutput, environments );
}
protected Map getEnvironments( BuildDefinition buildDefinition )
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java?view=diff&rev=564614&r1=564613&r2=564614
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenTwoBuildExecutor.java Fri Aug 10 07:58:57 2007
@@ -51,11 +51,13 @@
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Properties;
/**
* @author Trygve Laugstøl
@@ -106,17 +108,27 @@
String executable = getInstallationService().getExecutorConfigurator( InstallationService.MAVEN2_TYPE )
.getExecutable();
- String arguments = "";
+ StringBuffer arguments = new StringBuffer();
String buildFile = StringUtils.clean( buildDefinition.getBuildFile() );
if ( !StringUtils.isEmpty( buildFile ) && !"pom.xml".equals( buildFile ) )
{
- arguments = "-f " + buildFile + " ";
+ arguments.append( "-f " ).append( buildFile ).append( " " );
}
- arguments +=
- StringUtils.clean( buildDefinition.getArguments() ) + " " + StringUtils.clean( buildDefinition.getGoals() );
+ arguments.append( StringUtils.clean( buildDefinition.getArguments() ) ).append( " " );
+
+ Properties props = getContinuumSystemProperties( project );
+ for ( Enumeration itr = props.propertyNames(); itr.hasMoreElements(); )
+ {
+ String name = (String) itr.nextElement();
+ String value = props.getProperty( name );
+ arguments.append( "\"-D" ).append( name ).append( "=" ).append( value ).append( "\" " );
+ }
+
+ arguments.append( StringUtils.clean( buildDefinition.getGoals() ) );
+
Map environments = getEnvironments( buildDefinition );
String m2Home = environments.get( getInstallationService().getEnvVar( InstallationService.MAVEN2_TYPE ) );
if ( StringUtils.isNotEmpty( m2Home ) )
@@ -125,7 +137,7 @@
setResolveExecutable( false );
}
- return executeShellCommand( project, executable, arguments, buildOutput, environments );
+ return executeShellCommand( project, executable, arguments.toString(), buildOutput, environments );
}
public void updateProjectFromCheckOut( File workingDirectory, Project project, BuildDefinition buildDefinition )