You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@continuum.apache.org by Christian Gruber <ch...@gmail.com> on 2007/08/10 18:35:38 UTC

Re: svn commit: r564614 - in /maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution: AbstractBuildExecutor.java ant/AntBuildExecutor.java maven/m1/MavenOneBuildExecutor.java maven/m2/MavenTwoBuildExecutor.java

I wonder if this could be expanded to include an alternate reference  
with the SCM version number being used as a build identifier.  While  
this would suck with CVS, with P4 or SVN it would tend to better  
identify the build, as continuum build numbers are local to the build  
machine and can end up reset if you have to re-install.

That, or the ability to manually reset the current or base build number.
Christian.


On Aug 10, 2007, at 10:58 AM, evenisse@apache.org wrote:

> 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 <a href="mailto:trygvis@inamo.no">Trygve  
> Laugst&oslash;l</a>
> @@ -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 <a href="mailto:trygvis@inamo.no">Trygve  
> Laugst&oslash;l</a>
> @@ -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<String, String> 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<String, String> 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 <a href="mailto:trygvis@inamo.no">Trygve  
> Laugst&oslash;l</a>
> @@ -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<String, String> 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<String, String> 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 <a href="mailto:trygvis@inamo.no">Trygve  
> Laugst&oslash;l</a>
> @@ -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<String, String> 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 )
>
>

christian gruber + cgruber@israfil.net + mob 410.900.0796 + mob2  
416.998.6023
process coach and architect + ISRÁFÍL CONSULTING SERVICES



Re: svn commit: r564614 - in /maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution: AbstractBuildExecutor.java ant/AntBuildExecutor.java maven/m1/MavenOneBuildExecutor.java maven/m2/MavenTwoBuildExecutor.java

Posted by Emmanuel Venisse <em...@venisse.net>.
ok, I'll look at it

Christian Gruber a écrit :
> I wonder if this could be expanded to include an alternate reference 
> with the SCM version number being used as a build identifier.  While 
> this would suck with CVS, with P4 or SVN it would tend to better 
> identify the build, as continuum build numbers are local to the build 
> machine and can end up reset if you have to re-install.
> 
> That, or the ability to manually reset the current or base build number.
> Christian.
> 
> 
> On Aug 10, 2007, at 10:58 AM, evenisse@apache.org wrote:
> 
>> 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 <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
>> @@ -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 <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
>> @@ -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<String, String> 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<String, String> 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 <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
>> @@ -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<String, String> 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<String, String> 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 <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
>> @@ -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<String, String> 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 )
>>
>>
> 
> christian gruber + cgruber@israfil.net + mob 410.900.0796 + mob2 
> 416.998.6023
> process coach and architect + ISRÁFÍL CONSULTING SERVICES
> 
> 
> 
> 
>