You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/02/28 02:11:44 UTC
svn commit: r512540 - in
/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration:
./ Configuration.java ConfigurationValidationResult.java
DefaultConfiguration.java DefaultConfigurationValidationResult.java
Author: jvanzyl
Date: Tue Feb 27 17:11:43 2007
New Revision: 512540
URL: http://svn.apache.org/viewvc?view=rev&rev=512540
Log:
o adding a way to set the local repository in the configuration
o adding a configuration validator so that clients can tell what state the settings are in before firing up the embedder
Added:
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java (contents, props changed)
- copied, changed from r511320, maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConfiguration.java
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java (with props)
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java (contents, props changed)
- copied, changed from r511320, maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultMavenEmbedderConfiguration.java
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java (with props)
Copied: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java (from r511320, maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConfiguration.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java?view=diff&rev=512540&p1=maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConfiguration.java&r1=511320&p2=maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java&r2=512540
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConfiguration.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java Tue Feb 27 17:11:43 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.embedder;
+package org.apache.maven.embedder.configuration;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
@@ -15,87 +15,109 @@
* limitations under the License.
*/
+import org.apache.maven.embedder.ContainerCustomizer;
+import org.apache.maven.embedder.MavenEmbedderLogger;
+import org.codehaus.plexus.classworlds.ClassWorld;
+
import java.io.File;
import java.net.URL;
import java.util.List;
import java.util.Properties;
-import org.apache.maven.settings.SettingsBuilderAdvice;
-import org.codehaus.plexus.classworlds.ClassWorld;
-
/**
* Configuration of embedder, used when starting up.
*
* @author mkleint
+ * @author Jason van Zyl
*/
-public interface MavenEmbedderConfiguration
+public interface Configuration
{
- /*
- * Add profile to activate.
- */
- MavenEmbedderConfiguration addActiveProfile( String profile );
+ // ----------------------------------------------------------------------------
+ // Settings
+ // ----------------------------------------------------------------------------
- /*
- * Add profile to inactivate.
- */
- MavenEmbedderConfiguration addInactiveProfile( String profile );
+ /** Set location of the userSettingsFile settings file to use for the embedder. */
+ Configuration setUserSettingsFile( File userSettingsFile );
- /*
- * Add a list of String instances with names of profiles to activate.
- */
- MavenEmbedderConfiguration addActiveProfiles( List profiles );
-
- /*
- * Add a list of String instances with names of profiles to inactivate.
- */
- MavenEmbedderConfiguration addInactiveProfiles( List profiles );
-
- /*
- * Set location of the user settings file to use for the embedder.
- */
- MavenEmbedderConfiguration setUserSettingsFile( File user );
+ File getUserSettingsFile();
- /*
- * Set location of the global settings file to use for the embedder.
- */
- MavenEmbedderConfiguration setGlobalSettingsFile( File global );
+ /** Set location of the globalSettingsFiles settings file to use for the embedder. */
+ Configuration setGlobalSettingsFile( File globalSettingsFiles );
+
+ File getGlobalSettingsFile();
+
+ // ----------------------------------------------------------------------------
+ // Local Repository
+ // ----------------------------------------------------------------------------
/**
- * Set a customizer callback implemetation that will be given a chance to modify the plexus container
- * on startup.
+ * This overrides anything set in a settings file.
*/
- MavenEmbedderConfiguration setConfigurationCustomizer( ContainerCustomizer customizer );
+ Configuration setLocalRepository( File localRepository );
- /** set the system properties to be used during the lifecycle of the embedder. Excluding the time when executing the project, then the properties from MavenExecutionRequestare used. */
- MavenEmbedderConfiguration setSystemProperties( Properties properties );
+ File getLocalRepository();
- List getActiveProfiles();
+ // ----------------------------------------------------------------------------
+ // Logger
+ // ----------------------------------------------------------------------------
- List getInactiveProfiles();
+ Configuration setMavenEmbedderLogger( MavenEmbedderLogger logger );
- File getUserSettingsFile();
+ MavenEmbedderLogger getMavenEmbedderLogger();
- File getGlobalSettingsFile();
+ // ----------------------------------------------------------------------------
+ // ClassWorld/ClassLoader
+ // ----------------------------------------------------------------------------
- ContainerCustomizer getContainerCustomizer();
+ ClassWorld getClassWorld();
- Properties getSystemProperties();
+ Configuration setClassWorld( ClassWorld classWorld );
- void addExtension( URL url );
+ Configuration setClassLoader( ClassLoader loader );
- List getExtensions();
+ // ----------------------------------------------------------------------------
+ // Profiles
+ // ----------------------------------------------------------------------------
- MavenEmbedderConfiguration setMavenEmbedderLogger( MavenEmbedderLogger logger );
+ /** Add profile to activate. */
+ Configuration addActiveProfile( String profile );
- MavenEmbedderLogger getMavenEmbedderLogger();
+ /** Add profile to inactivate. */
+ Configuration addInactiveProfile( String profile );
- ClassWorld getClassWorld();
+ /** Add a list of String instances with names of profiles to activate. */
+ Configuration addActiveProfiles( List profiles );
+
+ /** Add a list of String instances with names of profiles to inactivate. */
+ Configuration addInactiveProfiles( List profiles );
+
+ /** Set a customizer callback implemetation that will be given a chance to modify the plexus container on startup. */
+ Configuration setConfigurationCustomizer( ContainerCustomizer customizer );
+
+ /** set the system properties to be used during the lifecycle of the embedder. Excluding the time when executing the project, then the properties from MavenExecutionRequestare used. */
+ Configuration setSystemProperties( Properties properties );
+
+ List getActiveProfiles();
- MavenEmbedderConfiguration setClassWorld( ClassWorld classWorld );
+ List getInactiveProfiles();
+
+ // ----------------------------------------------------------------------------
+ // Container Customizer
+ // ----------------------------------------------------------------------------
+
+ ContainerCustomizer getContainerCustomizer();
+
+ // ----------------------------------------------------------------------------
+ // System Properties
+ // ----------------------------------------------------------------------------
- MavenEmbedderConfiguration setClassLoader( ClassLoader loader );
+ Properties getSystemProperties();
+
+ // ----------------------------------------------------------------------------
+ // Extensions
+ // ----------------------------------------------------------------------------
+
+ void addExtension( URL url );
- SettingsBuilderAdvice getSettingsBuilderAdvice();
-
- void setSettingsBuilderAdvice( SettingsBuilderAdvice advice );
+ List getExtensions();
}
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/Configuration.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java?view=auto&rev=512540
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java Tue Feb 27 17:11:43 2007
@@ -0,0 +1,25 @@
+package org.apache.maven.embedder.configuration;
+
+/** @author Jason van Zyl */
+public interface ConfigurationValidationResult
+{
+ boolean isValid();
+
+ boolean isUserSettingsFilePresent();
+
+ void setUserSettingsFilePresent( boolean userSettingsFilePresent );
+
+ boolean isUserSettingsFileParses();
+
+ void setUserSettingsFileParses( boolean userSettingsFileParses );
+
+ boolean isGlobalSettingsFilePresent();
+
+ void setGlobalSettingsFilePresent( boolean globalSettingsFilePresent );
+
+ boolean isGlobalSettingsFileParses();
+
+ void setGlobalSettingsFileParses( boolean globalSettingsFileParses );
+
+ void display();
+}
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/ConfigurationValidationResult.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java (from r511320, maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultMavenEmbedderConfiguration.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java?view=diff&rev=512540&p1=maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultMavenEmbedderConfiguration.java&r1=511320&p2=maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java&r2=512540
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultMavenEmbedderConfiguration.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java Tue Feb 27 17:11:43 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.embedder;
+package org.apache.maven.embedder.configuration;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
@@ -15,7 +15,11 @@
* limitations under the License.
*/
-import org.apache.maven.settings.SettingsBuilderAdvice;
+import org.apache.maven.embedder.ContainerCustomizer;
+import org.apache.maven.embedder.MavenEmbedderLogger;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.SettingsUtils;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.codehaus.plexus.classworlds.ClassWorld;
import java.io.File;
@@ -25,12 +29,12 @@
import java.util.Properties;
/**
- * Default implementation of MavenEmbedderConfiguration intefrace.
+ * Default implementation of Configuration intefrace.
*
* @author mkleint
*/
-public class DefaultMavenEmbedderConfiguration
- implements MavenEmbedderConfiguration
+public class DefaultConfiguration
+ implements Configuration
{
private List inactives;
@@ -51,34 +55,38 @@
private ClassWorld classWorld;
- private SettingsBuilderAdvice advice;
+ private File localRepository;
- /** Creates a new instance of DefaultMavenEmbedderConfiguration */
- public DefaultMavenEmbedderConfiguration()
+ /** Creates a new instance of DefaultConfiguration */
+ public DefaultConfiguration()
{
}
- public MavenEmbedderConfiguration addActiveProfile( String profile )
+ public Configuration addActiveProfile( String profile )
{
getActiveProfiles().add( profile );
+
return this;
}
- public MavenEmbedderConfiguration addInactiveProfile( String profile )
+ public Configuration addInactiveProfile( String profile )
{
getInactiveProfiles().add( profile );
+
return this;
}
- public MavenEmbedderConfiguration addActiveProfiles( List profiles )
+ public Configuration addActiveProfiles( List profiles )
{
getActiveProfiles().addAll( profiles );
+
return this;
}
- public MavenEmbedderConfiguration addInactiveProfiles( List profiles )
+ public Configuration addInactiveProfiles( List profiles )
{
getInactiveProfiles().addAll( profiles );
+
return this;
}
@@ -100,13 +108,13 @@
return inactives;
}
- public MavenEmbedderConfiguration setUserSettingsFile( File user )
+ public Configuration setUserSettingsFile( File user )
{
userSettings = user;
return this;
}
- public MavenEmbedderConfiguration setGlobalSettingsFile( File global )
+ public Configuration setGlobalSettingsFile( File global )
{
globalSettings = global;
return this;
@@ -122,7 +130,7 @@
return globalSettings;
}
- public MavenEmbedderConfiguration setConfigurationCustomizer( ContainerCustomizer customizer )
+ public Configuration setConfigurationCustomizer( ContainerCustomizer customizer )
{
this.customizer = customizer;
return this;
@@ -133,7 +141,7 @@
return customizer;
}
- public MavenEmbedderConfiguration setSystemProperties( Properties properties )
+ public Configuration setSystemProperties( Properties properties )
{
systemProperties = properties;
return this;
@@ -154,7 +162,7 @@
return extensions;
}
- public MavenEmbedderConfiguration setMavenEmbedderLogger( MavenEmbedderLogger logger )
+ public Configuration setMavenEmbedderLogger( MavenEmbedderLogger logger )
{
this.logger = logger;
return this;
@@ -170,25 +178,32 @@
return classWorld;
}
- public MavenEmbedderConfiguration setClassWorld( ClassWorld classWorld )
+ public Configuration setClassWorld( ClassWorld classWorld )
{
this.classWorld = classWorld;
return this;
}
- public MavenEmbedderConfiguration setClassLoader( ClassLoader loader )
+ public Configuration setClassLoader( ClassLoader loader )
{
this.classWorld = new ClassWorld( "plexus.core", loader );
+
return this;
}
- public SettingsBuilderAdvice getSettingsBuilderAdvice()
+ // ----------------------------------------------------------------------------
+ // Local Repository
+ // ----------------------------------------------------------------------------
+
+ public Configuration setLocalRepository( File localRepository )
{
- return advice;
+ this.localRepository = localRepository;
+
+ return this;
}
- public void setSettingsBuilderAdvice( SettingsBuilderAdvice advice )
+ public File getLocalRepository()
{
- this.advice = advice;
+ return localRepository;
}
}
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfiguration.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java?view=auto&rev=512540
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java Tue Feb 27 17:11:43 2007
@@ -0,0 +1,68 @@
+package org.apache.maven.embedder.configuration;
+
+/** @author Jason van Zyl */
+public class DefaultConfigurationValidationResult
+ implements ConfigurationValidationResult
+{
+ private boolean userSettingsFilePresent = true;
+
+ private boolean userSettingsFileParses = true;
+
+ private boolean globalSettingsFilePresent = true;
+
+ private boolean globalSettingsFileParses = true;
+
+ public boolean isValid()
+ {
+ return userSettingsFilePresent && userSettingsFileParses && globalSettingsFilePresent &&
+ globalSettingsFileParses;
+ }
+
+ public boolean isUserSettingsFilePresent()
+ {
+ return userSettingsFilePresent;
+ }
+
+ public void setUserSettingsFilePresent( boolean userSettingsFilePresent )
+ {
+ this.userSettingsFilePresent = userSettingsFilePresent;
+ }
+
+ public boolean isUserSettingsFileParses()
+ {
+ return userSettingsFileParses;
+ }
+
+ public void setUserSettingsFileParses( boolean userSettingsFileParses )
+ {
+ this.userSettingsFileParses = userSettingsFileParses;
+ }
+
+ public boolean isGlobalSettingsFilePresent()
+ {
+ return globalSettingsFilePresent;
+ }
+
+ public void setGlobalSettingsFilePresent( boolean globalSettingsFilePresent )
+ {
+ this.globalSettingsFilePresent = globalSettingsFilePresent;
+ }
+
+ public boolean isGlobalSettingsFileParses()
+ {
+ return globalSettingsFileParses;
+ }
+
+ public void setGlobalSettingsFileParses( boolean globalSettingsFileParses )
+ {
+ this.globalSettingsFileParses = globalSettingsFileParses;
+ }
+
+ public void display()
+ {
+ System.out.println( "userSettingsFilePresent = " + userSettingsFilePresent );
+ System.out.println( "globalSettingsFileParses = " + globalSettingsFileParses );
+ System.out.println( "globalSettingsFilePresent = " + globalSettingsFilePresent );
+ System.out.println( "globalSettingsFileParses = " + globalSettingsFileParses );
+ }
+}
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/configuration/DefaultConfigurationValidationResult.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision