You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2005/09/25 18:06:31 UTC

svn commit: r291435 - in /maven/components/trunk/maven-core/src/main/java/org/apache/maven: DefaultMaven.java cli/MavenCli.java

Author: jvanzyl
Date: Sun Sep 25 09:06:28 2005
New Revision: 291435

URL: http://svn.apache.org/viewcvs?rev=291435&view=rev
Log:
o slowly (and safely) trying to make bits extractable from here so that i
can integration it into the embedder and then use the embedder for the

 o it-plugin
 o maven cli
 o ant tasks
 o eclipse m2 plugin
 

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=291435&r1=291434&r2=291435&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Sun Sep 25 09:06:28 2005
@@ -170,7 +170,7 @@
             {
                 MavenProject superProject = projectBuilder.buildStandaloneSuperProject( request.getLocalRepository() );
                 projects.add( superProject );
-                
+
                 foundProjects = false;
             }
 
@@ -207,7 +207,7 @@
         try
         {
             MavenSession session = createSession( request, rm );
-            
+
             session.setUsingPOMsFromFilesystem( foundProjects );
 
             try
@@ -509,7 +509,7 @@
 
                 wagonManager.addAuthenticationInfo( server.getId(), server.getUsername(), server.getPassword(),
                                                     server.getPrivateKey(), server.getPassphrase() );
-
+                        
                 wagonManager.addPermissionInfo( server.getId(), server.getFilePermissions(),
                                                 server.getDirectoryPermissions() );
             }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=291435&r1=291434&r2=291435&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Sun Sep 25 09:06:28 2005
@@ -43,6 +43,7 @@
 import org.apache.maven.reactor.ReactorException;
 import org.apache.maven.settings.MavenSettingsBuilder;
 import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.RuntimeInfo;
 import org.codehaus.classworlds.ClassWorld;
 import org.codehaus.plexus.PlexusContainerException;
 import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
@@ -50,7 +51,6 @@
 import org.codehaus.plexus.embed.Embedder;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.LoggerManager;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
 import java.io.IOException;
@@ -65,6 +65,8 @@
  */
 public class MavenCli
 {
+    private static Embedder embedder;
+
     /**
      * @noinspection ConfusingMainMethod
      */
@@ -132,7 +134,7 @@
         // bring the maven component to life for use.
         // ----------------------------------------------------------------------
 
-        Embedder embedder = new Embedder();
+        embedder = new Embedder();
 
         try
         {
@@ -141,93 +143,34 @@
         catch ( PlexusContainerException e )
         {
             showFatalError( "Unable to start the embedded plexus container", e, showErrors );
-            return 1;
-        }
-
-        String userSettingsPath = null;
 
-        if ( commandLine.hasOption( CLIManager.ALTERNATE_USER_SETTINGS ) )
-        {
-            userSettingsPath = commandLine.getOptionValue( CLIManager.ALTERNATE_USER_SETTINGS );
+            return 1;
         }
 
         Settings settings = null;
-        try
-        {
-            MavenSettingsBuilder settingsBuilder = (MavenSettingsBuilder) embedder.lookup( MavenSettingsBuilder.ROLE );
-
-            if ( userSettingsPath != null )
-            {
-                File userSettingsFile = new File( userSettingsPath );
 
-                if ( userSettingsFile.exists() && !userSettingsFile.isDirectory() )
-                {
-                    settings = settingsBuilder.buildSettings( userSettingsFile );
-                }
-                else
-                {
-                    System.out.println( "WARNING: Alternate user settings file: " + userSettingsPath +
-                        " is invalid. Using default path." );
-                }
-            }
-
-            if ( settings == null )
-            {
-                settings = settingsBuilder.buildSettings();
-            }
-        }
-        catch ( IOException e )
-        {
-            showFatalError( "Unable to read settings.xml", e, showErrors );
-            return 1;
-        }
-        catch ( XmlPullParserException e )
+        try
         {
-            showFatalError( "Unable to read settings.xml", e, showErrors );
-            return 1;
+            settings = buildSettings( commandLine );
         }
-        catch ( ComponentLookupException e )
+        catch ( Exception e )
         {
             showFatalError( "Unable to read settings.xml", e, showErrors );
-            return 1;
-        }
-
-        if ( commandLine.hasOption( CLIManager.BATCH_MODE ) )
-        {
-            settings.setInteractiveMode( false );
-        }
-
-        if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES ) ||
-            commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES2 ) )
-        {
-            settings.getRuntimeInfo().setPluginUpdateOverride( Boolean.TRUE );
-        }
-        else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_UPDATES ) )
-        {
-            settings.getRuntimeInfo().setPluginUpdateOverride( Boolean.FALSE );
-        }
-
-        if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_LATEST_CHECK ) )
-        {
-            settings.getRuntimeInfo().setCheckLatestPluginVersion( Boolean.TRUE );
-        }
-        else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_LATEST_CHECK ) )
-        {
-            settings.getRuntimeInfo().setCheckLatestPluginVersion( Boolean.FALSE );
-        }
 
-        if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_REGISTRY ) )
-        {
-            settings.setUsePluginRegistry( false );
+            return 1;
         }
 
         Maven maven = null;
+
         MavenExecutionRequest request = null;
+
         LoggerManager loggerManager = null;
+
         try
         {
             // logger must be created first
             loggerManager = (LoggerManager) embedder.lookup( LoggerManager.ROLE );
+
             if ( debug )
             {
                 loggerManager.setThreshold( Logger.LEVEL_DEBUG );
@@ -261,15 +204,16 @@
                 }
             }
 
-            request = createRequest( embedder, commandLine, settings, eventDispatcher, loggerManager, profileManager );
+            request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager );
 
             setProjectFileOptions( commandLine, request );
 
-            maven = createMavenInstance( embedder, settings.isInteractiveMode() );
+            maven = createMavenInstance( settings.isInteractiveMode() );
         }
         catch ( ComponentLookupException e )
         {
             showFatalError( "Unable to configure the Maven application", e, showErrors );
+
             return 1;
         }
         finally
@@ -317,6 +261,86 @@
         }
     }
 
+    private static Settings buildSettings( CommandLine commandLine )
+        throws Exception
+    {
+        String userSettingsPath = null;
+
+        if ( commandLine.hasOption( CLIManager.ALTERNATE_USER_SETTINGS ) )
+        {
+            userSettingsPath = commandLine.getOptionValue( CLIManager.ALTERNATE_USER_SETTINGS );
+        }
+
+        Settings settings = null;
+
+        MavenSettingsBuilder settingsBuilder = (MavenSettingsBuilder) embedder.lookup( MavenSettingsBuilder.ROLE );
+
+        if ( userSettingsPath != null )
+        {
+            File userSettingsFile = new File( userSettingsPath );
+
+            if ( userSettingsFile.exists() && !userSettingsFile.isDirectory() )
+            {
+                settings = settingsBuilder.buildSettings( userSettingsFile );
+            }
+            else
+            {
+                System.out.println( "WARNING: Alternate user settings file: " + userSettingsPath +
+                    " is invalid. Using default path." );
+            }
+        }
+
+        if ( settings == null )
+        {
+            settings = settingsBuilder.buildSettings();
+        }
+
+        // why aren't these part of the runtime info? jvz.
+
+        if ( commandLine.hasOption( CLIManager.BATCH_MODE ) )
+        {
+            settings.setInteractiveMode( false );
+        }
+
+        if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_REGISTRY ) )
+        {
+            settings.setUsePluginRegistry( false );
+        }
+
+        // Create settings runtime info
+
+        settings.setRuntimeInfo( createRuntimeInfo( commandLine, settings ) );
+
+        return settings;
+    }
+
+    private static RuntimeInfo createRuntimeInfo( CommandLine commandLine, Settings settings )
+    {
+        RuntimeInfo runtimeInfo = new RuntimeInfo( settings );
+
+        if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES ) ||
+            commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES2 ) )
+        {
+            runtimeInfo.setPluginUpdateOverride( Boolean.TRUE );
+        }
+        else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_UPDATES ) )
+        {
+            runtimeInfo.setPluginUpdateOverride( Boolean.FALSE );
+        }
+
+        if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_LATEST_CHECK ) )
+        {
+            runtimeInfo.setCheckLatestPluginVersion( Boolean.TRUE );
+        }
+        else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_LATEST_CHECK ) )
+        {
+            runtimeInfo.setCheckLatestPluginVersion( Boolean.FALSE );
+        }
+
+        return runtimeInfo;
+    }
+
+
     private static void showFatalError( String message, Exception e, boolean show )
     {
         System.err.println( "FATAL ERROR: " + message );
@@ -332,8 +356,10 @@
         }
     }
 
-    private static MavenExecutionRequest createRequest( Embedder embedder, CommandLine commandLine, Settings settings,
-                                                        EventDispatcher eventDispatcher, LoggerManager loggerManager,
+    private static MavenExecutionRequest createRequest( CommandLine commandLine,
+                                                        Settings settings,
+                                                        EventDispatcher eventDispatcher,
+                                                        LoggerManager loggerManager,
                                                         ProfileManager profileManager )
         throws ComponentLookupException
     {
@@ -385,7 +411,7 @@
         }
     }
 
-    private static Maven createMavenInstance( Embedder embedder, boolean interactive )
+    private static Maven createMavenInstance( boolean interactive )
         throws ComponentLookupException
     {
         // TODO [BP]: doing this here as it is CLI specific, though it doesn't feel like the right place (likewise logger).
@@ -413,7 +439,7 @@
 
         ArtifactRepositoryFactory artifactRepositoryFactory = (ArtifactRepositoryFactory) embedder.lookup(
             ArtifactRepositoryFactory.ROLE );
-        
+
         String url = settings.getLocalRepository();
 
         if ( !url.startsWith( "file:" ) )
@@ -424,10 +450,11 @@
         ArtifactRepository localRepository = new DefaultArtifactRepository( "local", url, repositoryLayout );
 
         boolean snapshotPolicySet = false;
+
         if ( commandLine.hasOption( CLIManager.OFFLINE ) )
         {
             settings.setOffline( true );
-            
+
             snapshotPolicySet = true;
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org