You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2008/11/13 07:34:24 UTC
svn commit: r713659 - in /continuum/branches/continuum-distributed-builds:
continuum-api/src/main/java/org/apache/continuum/configuration/
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-api/src/main/java/org/apache/maven/continuum/co...
Author: ctan
Date: Wed Nov 12 22:34:23 2008
New Revision: 713659
URL: http://svn.apache.org/viewvc?rev=713659&view=rev
Log:
- added build agent configuration
- added distributed build configuration
Added:
continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/BuildAgentConfiguration.java
Modified:
continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/GeneralConfiguration.java
continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java
continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/pom.xml
continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java
continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/mdo/continuum-configuration.xml
continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/java/org/apache/continuum/configuration/TestDefaultContinuumConfiguration.java
continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/resources/conf/continuum.xml
continuum/branches/continuum-distributed-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java
continuum/branches/continuum-distributed-builds/continuum-commons/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java
continuum/branches/continuum-distributed-builds/continuum-commons/src/test/resources/conf/continuum.xml
continuum/branches/continuum-distributed-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
continuum/branches/continuum-distributed-builds/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
continuum/branches/continuum-distributed-builds/continuum-model/src/main/mdo/continuum.xml
Added: continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/BuildAgentConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/BuildAgentConfiguration.java?rev=713659&view=auto
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/BuildAgentConfiguration.java (added)
+++ continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/BuildAgentConfiguration.java Wed Nov 12 22:34:23 2008
@@ -0,0 +1,52 @@
+package org.apache.continuum.configuration;
+
+public class BuildAgentConfiguration
+{
+ private String url;
+
+ private String operatingSystem;
+
+ private boolean enabled;
+
+ public BuildAgentConfiguration()
+ {
+ // do nothing
+ }
+
+ public BuildAgentConfiguration( String url, String operatingSystem, boolean enabled )
+ {
+ this.url = url;
+ this.operatingSystem = operatingSystem;
+ this.enabled = enabled;
+ }
+
+ public String getUrl()
+ {
+ return url;
+ }
+
+ public void setUrl( String url )
+ {
+ this.url = url;
+ }
+
+ public String getOperatingSystem()
+ {
+ return operatingSystem;
+ }
+
+ public void setOperatingSystem( String operatingSystem )
+ {
+ this.operatingSystem = operatingSystem;
+ }
+
+ public boolean isEnabled()
+ {
+ return enabled;
+ }
+
+ public void setEnabled( boolean enabled )
+ {
+ this.enabled = enabled;
+ }
+}
Modified: continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/GeneralConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/GeneralConfiguration.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/GeneralConfiguration.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/continuum/configuration/GeneralConfiguration.java Wed Nov 12 22:34:23 2008
@@ -22,6 +22,7 @@
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import java.io.File;
+import java.util.List;
/**
* @author <a href="mailto:olamy@apache.org">olamy</a>
@@ -42,6 +43,8 @@
private File releaseOutputDirectory;
+ private List<BuildAgentConfiguration> buildAgents;
+
public GeneralConfiguration()
{
// nothing here
@@ -113,4 +116,13 @@
this.releaseOutputDirectory = releaseOutputDirectory;
}
+ public List<BuildAgentConfiguration> getBuildAgents()
+ {
+ return buildAgents;
+ }
+
+ public void setBuildAgents( List<BuildAgentConfiguration> buildAgents )
+ {
+ this.buildAgents = buildAgents;
+ }
}
Modified: continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Wed Nov 12 22:34:23 2008
@@ -660,4 +660,7 @@
String getReleaseOutput( int releaseResultId )
throws ContinuumException;
+
+ void setDistributedBuildEnabled( boolean distributedBuildEnabled )
+ throws ContinuumException;
}
Modified: continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationService.java Wed Nov 12 22:34:23 2008
@@ -19,11 +19,13 @@
* under the License.
*/
+import org.apache.continuum.configuration.BuildAgentConfiguration;
import org.apache.continuum.configuration.ContinuumConfigurationException;
import org.apache.maven.continuum.model.project.Schedule;
import org.apache.maven.continuum.store.ContinuumStoreException;
import java.io.File;
+import java.util.List;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -84,6 +86,17 @@
String getReleaseOutput( int projectGroupId, String releaseName )
throws ConfigurationException;
+ List<BuildAgentConfiguration> getBuildAgents();
+
+ void addBuildAgent( BuildAgentConfiguration buildAgent )
+ throws ConfigurationException;
+
+ void removeBuildAgent( BuildAgentConfiguration buildAgent );
+
+ boolean isDistributedBuildEnabled();
+
+ void setDistributedBuildEnabled( boolean distributedBuildEnabled );
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
Modified: continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/pom.xml?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/pom.xml (original)
+++ continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/pom.xml Wed Nov 12 22:34:23 2008
@@ -35,7 +35,7 @@
<models>
<model>src/main/mdo/continuum-configuration.xml</model>
</models>
- <version>1.0.0</version>
+ <version>1.0.1</version>
</configuration>
<executions>
<execution>
Modified: continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java Wed Nov 12 22:34:23 2008
@@ -24,6 +24,8 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.continuum.configuration.model.ContinuumConfigurationModel;
@@ -149,6 +151,21 @@
this.generalConfiguration.setReleaseOutputDirectory( new File( configuration
.getReleaseOutputDirectory() ) );
}
+ if ( configuration.getBuildAgents() != null )
+ {
+ List<BuildAgentConfiguration> buildAgents = new ArrayList<BuildAgentConfiguration>();
+
+ List<org.apache.continuum.configuration.model.BuildAgentConfiguration> agents = configuration.getBuildAgents();
+ for ( org.apache.continuum.configuration.model.BuildAgentConfiguration agent : agents )
+ {
+ BuildAgentConfiguration buildAgent = new BuildAgentConfiguration( agent.getUrl(),
+ agent.getOperatingSystem(),
+ agent.isEnabled() );
+ buildAgents.add( buildAgent );
+ }
+
+ this.generalConfiguration.setBuildAgents( buildAgents );
+ }
}
catch ( IOException e )
{
@@ -208,6 +225,22 @@
configurationModel.setReleaseOutputDirectory( this.generalConfiguration.getReleaseOutputDirectory()
.getPath() );
}
+ if ( this.generalConfiguration.getBuildAgents() != null )
+ {
+ List buildAgents = new ArrayList();
+
+ for ( BuildAgentConfiguration agent : this.generalConfiguration.getBuildAgents() )
+ {
+ org.apache.continuum.configuration.model.BuildAgentConfiguration buildAgent =
+ new org.apache.continuum.configuration.model.BuildAgentConfiguration();
+ buildAgent.setUrl( agent.getUrl() );
+ buildAgent.setOperatingSystem( agent.getOperatingSystem() );
+ buildAgent.setEnabled( agent.isEnabled() );
+
+ buildAgents.add( buildAgent );
+ }
+ configurationModel.setBuildAgents( buildAgents );
+ }
ContinuumConfigurationModelXpp3Writer writer = new ContinuumConfigurationModelXpp3Writer();
FileWriter fileWriter = new FileWriter( file );
Modified: continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/mdo/continuum-configuration.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/mdo/continuum-configuration.xml?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/mdo/continuum-configuration.xml (original)
+++ continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/main/mdo/continuum-configuration.xml Wed Nov 12 22:34:23 2008
@@ -65,7 +65,15 @@
<name>releaseOutputDirectory</name>
<version>1.0.0+</version>
<type>String</type>
- </field>
+ </field>
+ <field>
+ <name>buildAgents</name>
+ <version>1.0.1+</version>
+ <association>
+ <type>BuildAgentConfiguration</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
</fields>
</class>
<class xml.tagName="proxy-configuration">
@@ -93,6 +101,27 @@
<type>String</type>
</field>
</fields>
+ </class>
+ <class xml.tagName="buildagent-configuration">
+ <name>BuildAgentConfiguration</name>
+ <version>1.0.1+</version>
+ <fields>
+ <field>
+ <name>url</name>
+ <version>1.0.1+</version>
+ <type>String</type>
+ </field>
+ <field>
+ <name>operatingSystem</name>
+ <version>1.0.1+</version>
+ <type>String</type>
+ </field>
+ <field>
+ <name>enabled</name>
+ <version>1.0.1+</version>
+ <type>boolean</type>
+ </field>
+ </fields>
</class>
</classes>
</model>
Modified: continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/java/org/apache/continuum/configuration/TestDefaultContinuumConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/java/org/apache/continuum/configuration/TestDefaultContinuumConfiguration.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/java/org/apache/continuum/configuration/TestDefaultContinuumConfiguration.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/java/org/apache/continuum/configuration/TestDefaultContinuumConfiguration.java Wed Nov 12 22:34:23 2008
@@ -25,6 +25,8 @@
import org.slf4j.LoggerFactory;
import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author <a href="mailto:olamy@apache.org">olamy</a>
@@ -67,6 +69,11 @@
assertNotNull( generalConfiguration.getBaseUrl() );
assertEquals( "http://test", generalConfiguration.getBaseUrl() );
assertEquals( new File( "myBuildOutputDir" ), generalConfiguration.getBuildOutputDirectory() );
+ assertNotNull( generalConfiguration.getBuildAgents() );
+ org.apache.continuum.configuration.BuildAgentConfiguration buildAgentConfig = generalConfiguration.getBuildAgents().get( 0 );
+ assertEquals( "http://buildagent/xmlrpc", buildAgentConfig.getUrl() );
+ assertEquals( "linux", buildAgentConfig.getOperatingSystem() );
+ assertTrue( buildAgentConfig.isEnabled() );
}
public void testDefaultConfiguration()
@@ -87,6 +94,13 @@
generalConfiguration.getProxyConfiguration().setProxyPort( 8080 );
File targetDir = new File(getBasedir(), "target");
generalConfiguration.setBuildOutputDirectory( targetDir );
+ BuildAgentConfiguration buildAgentConfiguration = new BuildAgentConfiguration();
+ buildAgentConfiguration.setUrl( "http://buildagent/test" );
+ buildAgentConfiguration.setOperatingSystem( "windows xp" );
+ buildAgentConfiguration.setEnabled( false );
+ List<BuildAgentConfiguration> buildAgents = new ArrayList<BuildAgentConfiguration>();
+ buildAgents.add( buildAgentConfiguration );
+ generalConfiguration.setBuildAgents( buildAgents );
configuration.setGeneralConfiguration( generalConfiguration );
configuration.save();
@@ -94,12 +108,15 @@
assertTrue( contents.indexOf( "http://test/zloug" ) > 0 );
assertTrue( contents.indexOf( "localhost" ) > 0 );
assertTrue( contents.indexOf( "8080" ) > 0 );
+ assertTrue( contents.indexOf( "http://buildagent/test" ) > 0 );
+ assertTrue( contents.indexOf( "windows xp" ) > 0 );
configuration.reload();
assertEquals( "http://test/zloug", configuration.getGeneralConfiguration().getBaseUrl() );
assertEquals( "localhost", configuration.getGeneralConfiguration().getProxyConfiguration().getProxyHost() );
assertEquals( 8080, configuration.getGeneralConfiguration().getProxyConfiguration().getProxyPort() );
assertEquals(targetDir.getPath(), configuration.getGeneralConfiguration().getBuildOutputDirectory().getPath());
+ assertEquals( "http://buildagent/test", configuration.getGeneralConfiguration().getBuildAgents().get( 0 ).getUrl() );
log.info( "generalConfiguration " + configuration.getGeneralConfiguration().toString() );
}
}
Modified: continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/resources/conf/continuum.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/resources/conf/continuum.xml?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/resources/conf/continuum.xml (original)
+++ continuum/branches/continuum-distributed-builds/continuum-base/continuum-configuration/src/test/resources/conf/continuum.xml Wed Nov 12 22:34:23 2008
@@ -2,4 +2,11 @@
<continuum-configuration>
<baseUrl>http://test</baseUrl>
<buildOutputDirectory>myBuildOutputDir</buildOutputDirectory>
+ <buildAgents>
+ <buildAgent>
+ <url>http://buildagent/xmlrpc</url>
+ <operatingSystem>linux</operatingSystem>
+ <enabled>true</enabled>
+ </buildAgent>
+ </buildAgents>
</continuum-configuration>
\ No newline at end of file
Modified: continuum/branches/continuum-distributed-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java Wed Nov 12 22:34:23 2008
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.configuration.BuildAgentConfiguration;
import org.apache.continuum.configuration.ContinuumConfiguration;
import org.apache.continuum.configuration.ContinuumConfigurationException;
import org.apache.continuum.configuration.GeneralConfiguration;
@@ -34,6 +35,8 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -275,6 +278,59 @@
generalConfiguration.setReleaseOutputDirectory( f );
}
+ public List<BuildAgentConfiguration> getBuildAgents()
+ {
+ return generalConfiguration.getBuildAgents();
+ }
+
+ public void addBuildAgent( BuildAgentConfiguration buildAgent )
+ throws ConfigurationException
+ {
+ List<BuildAgentConfiguration> buildAgents = generalConfiguration.getBuildAgents();
+ if ( buildAgents == null )
+ {
+ buildAgents = new ArrayList<BuildAgentConfiguration>();
+ }
+
+ for ( BuildAgentConfiguration agent : buildAgents )
+ {
+ if ( agent.getUrl().equals( buildAgent.getUrl() ) )
+ {
+ throw new ConfigurationException( "Unable to add build agent: build agent already exist" );
+ }
+ }
+
+ buildAgents.add( buildAgent );
+ generalConfiguration.setBuildAgents( buildAgents );
+ }
+
+ public void removeBuildAgent( BuildAgentConfiguration buildAgent )
+ {
+ List<BuildAgentConfiguration> buildAgents = getBuildAgents();
+ if ( buildAgents != null )
+ {
+ for ( BuildAgentConfiguration agent : buildAgents )
+ {
+ if ( agent.getUrl().equals( buildAgent.getUrl() ) )
+ {
+ buildAgents.remove( agent );
+ break;
+ }
+ }
+ generalConfiguration.setBuildAgents( buildAgents );
+ }
+ }
+
+ public boolean isDistributedBuildEnabled()
+ {
+ return systemConf.isDistributedBuildEnabled();
+ }
+
+ public void setDistributedBuildEnabled( boolean distributedBuildEnabled )
+ {
+ systemConf.setDistributedBuildEnabled( distributedBuildEnabled );
+ }
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
Modified: continuum/branches/continuum-distributed-builds/continuum-commons/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-commons/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-commons/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-commons/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java Wed Nov 12 22:34:23 2008
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.continuum.configuration.BuildAgentConfiguration;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
import org.codehaus.plexus.util.FileUtils;
import org.slf4j.Logger;
@@ -88,9 +89,14 @@
// assertEquals( "working-directory", service.getWorkingDirectory().getName() );
+ assertEquals( "check # build agents", 1, service.getBuildAgents().size() );
+
service.setUrl( "http://test/zloug" );
service.setBuildOutputDirectory( new File( "testBuildOutputDir" ) );
+ BuildAgentConfiguration buildAgent = new BuildAgentConfiguration( "http://test/xmlrpc", "windows", false );
+ service.addBuildAgent( buildAgent );
+
service.store();
String contents = FileUtils.fileRead( conf );
@@ -99,5 +105,17 @@
service.reload();
assertEquals( "http://test/zloug", service.getUrl() );
+ assertEquals( "check # build agents", 2, service.getBuildAgents().size() );
+ assertEquals( "http://test/xmlrpc", service.getBuildAgents().get( 1 ).getUrl() );
+ assertEquals( "windows", service.getBuildAgents().get( 1 ).getOperatingSystem() );
+
+ assertEquals( "http://test/xmlrpc", buildAgent.getUrl() );
+ service.removeBuildAgent( buildAgent );
+ service.store();
+ service.reload();
+
+ assertEquals( "check # build agents", 1, service.getBuildAgents().size() );
+ assertEquals( "http://buildagent/xmlrpc", service.getBuildAgents().get( 0 ).getUrl() );
+ assertEquals( "linux", service.getBuildAgents().get( 0 ).getOperatingSystem() );
}
}
Modified: continuum/branches/continuum-distributed-builds/continuum-commons/src/test/resources/conf/continuum.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-commons/src/test/resources/conf/continuum.xml?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-commons/src/test/resources/conf/continuum.xml (original)
+++ continuum/branches/continuum-distributed-builds/continuum-commons/src/test/resources/conf/continuum.xml Wed Nov 12 22:34:23 2008
@@ -2,4 +2,12 @@
<continuum-configuration>
<baseUrl>http://test</baseUrl>
<buildOutputDirectory>target/myBuildOutputDir</buildOutputDirectory>
+ <buildAgents>
+ <buildAgent>
+ <url>http://buildagent/xmlrpc</url>
+ <operatingSystem>linux</operatingSystem>
+ <enabled>true</enabled>
+ </buildAgent>
+ </buildAgents>
+ <distributedBuildEnabled>true</distributedBuildEnabled>
</continuum-configuration>
\ No newline at end of file
Modified: continuum/branches/continuum-distributed-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Wed Nov 12 22:34:23 2008
@@ -3380,6 +3380,26 @@
}
}
+ public void setDistributedBuildEnabled( boolean distributedBuildEnabled )
+ throws ContinuumException
+ {
+ configurationService.setDistributedBuildEnabled( distributedBuildEnabled );
+
+ for ( ProjectGroup projectGroup : getAllProjectGroups() )
+ {
+ try
+ {
+ projectGroup.setDistributedBuildEnabled( distributedBuildEnabled );
+ projectGroupDao.updateProjectGroup( projectGroup );
+ }
+ catch ( ContinuumStoreException e )
+ {
+ throw new ContinuumException( "Error while enabling/disabling distributed build of project group " +
+ projectGroup.getName() );
+ }
+ }
+ }
+
private void createProjectScmRootForProjectGroup( ProjectGroup projectGroup )
throws ContinuumException
{
Modified: continuum/branches/continuum-distributed-builds/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java (original)
+++ continuum/branches/continuum-distributed-builds/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java Wed Nov 12 22:34:23 2008
@@ -475,6 +475,22 @@
assertEquals( defaultProjectGroup, continuum.getProjectGroupByGroupId( Continuum.DEFAULT_PROJECT_GROUP_GROUP_ID ) );
}
+ public void testDistributedBuild()
+ throws Exception
+ {
+ for ( ProjectGroup group : getContinuum().getAllProjectGroups() )
+ {
+ assertFalse( group.isDistributedBuildEnabled() );
+ }
+
+ getContinuum().setDistributedBuildEnabled( true );
+
+ for ( ProjectGroup group : getContinuum().getAllProjectGroups() )
+ {
+ assertTrue( group.isDistributedBuildEnabled() );
+ }
+ }
+
private Continuum getContinuum()
throws Exception
{
Modified: continuum/branches/continuum-distributed-builds/continuum-model/src/main/mdo/continuum.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-distributed-builds/continuum-model/src/main/mdo/continuum.xml?rev=713659&r1=713658&r2=713659&view=diff
==============================================================================
--- continuum/branches/continuum-distributed-builds/continuum-model/src/main/mdo/continuum.xml (original)
+++ continuum/branches/continuum-distributed-builds/continuum-model/src/main/mdo/continuum.xml Wed Nov 12 22:34:23 2008
@@ -167,6 +167,11 @@
<type>LocalRepository</type>
</association>
</field>
+ <field>
+ <name>distributedBuildEnabled</name>
+ <version>1.1.3+</version>
+ <type>boolean</type>
+ </field>
</fields>
</class>
@@ -1244,6 +1249,11 @@
<type>String</type>
<defaultValue>release-output-directory</defaultValue>
</field>
+ <field>
+ <name>distributedBuildEnabled</name>
+ <version>1.1.3+</version>
+ <type>boolean</type>
+ </field>
</fields>
</class>