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