You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2009/06/03 17:39:53 UTC

svn commit: r781439 - in /maven/components/branches/maven-2.2.0-RC: apache-maven/pom.xml build.xml maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java maven-core/src/main/java/org/apache/maven/cli/MavenCli.java pom.xml

Author: jdcasey
Date: Wed Jun  3 15:39:52 2009
New Revision: 781439

URL: http://svn.apache.org/viewvc?rev=781439&view=rev
Log:
[MNG-4166] Fixing commons-cli problem with plugins forced to use the same version the core uses; updating assembly plugin version to latest release; adding (commented) configuration for debugging the bootstrap maven execution; and, adding embedder.stop() call in a finally block in the MavenCli.main() method to clean up for IDEs, etc.

Modified:
    maven/components/branches/maven-2.2.0-RC/apache-maven/pom.xml
    maven/components/branches/maven-2.2.0-RC/build.xml
    maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java
    maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
    maven/components/branches/maven-2.2.0-RC/pom.xml

Modified: maven/components/branches/maven-2.2.0-RC/apache-maven/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/apache-maven/pom.xml?rev=781439&r1=781438&r2=781439&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/apache-maven/pom.xml (original)
+++ maven/components/branches/maven-2.2.0-RC/apache-maven/pom.xml Wed Jun  3 15:39:52 2009
@@ -124,7 +124,7 @@
       </plugin>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.1</version>
+        <version>2.2-beta-4</version>
         <executions>
           <execution>
             <id>bin-assembly</id>

Modified: maven/components/branches/maven-2.2.0-RC/build.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/build.xml?rev=781439&r1=781438&r2=781439&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/build.xml (original)
+++ maven/components/branches/maven-2.2.0-RC/build.xml Wed Jun  3 15:39:52 2009
@@ -186,6 +186,12 @@
   <target name="maven-compile" depends="compile-boot" description="compiles Maven using the bootstrap Maven, skipping automated tests">
     <java fork="true" classname="org.apache.maven.cli.MavenCli" failonerror="true">
       <jvmarg value="-Xmx256M"/>
+      
+      <!-- <jvmarg value="-Xdebug"/>
+      <jvmarg value="-Xnoagent"/>
+      <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,address=8000"/>
+      <jvmarg value="-Djava.compiler=NONE"/> -->
+
       <classpath refid="maven.classpath"/>
       <arg value="-e"/>
       <arg value="-B"/>

Modified: maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java?rev=781439&r1=781438&r2=781439&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java (original)
+++ maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java Wed Jun  3 15:39:52 2009
@@ -65,7 +65,7 @@
 
         artifacts.add( "classworlds" );
         artifacts.add( "jsch" );
-        artifacts.add( "commons-cli" );
+//        artifacts.add( "commons-cli" );
         artifacts.add( "doxia-sink-api" );
         artifacts.add( "doxia-logging-api" );
         artifacts.add( "maven-artifact" );

Modified: maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=781439&r1=781438&r2=781439&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Wed Jun  3 15:39:52 2009
@@ -180,184 +180,192 @@
             return 1;
         }
 
-        // ----------------------------------------------------------------------
-        // The execution properties need to be created before the settings
-        // are constructed.
-        // ----------------------------------------------------------------------
-
-        Properties executionProperties = new Properties();
-        Properties userProperties = new Properties();
-        populateProperties( commandLine, executionProperties, userProperties );
-
-        Settings settings;
-
+        // wraps the following code to ensure the embedder is stopped no matter what else happens.
         try
         {
-            settings = buildSettings( commandLine );
-        }
-        catch ( SettingsConfigurationException e )
-        {
-            showError( "Error reading settings.xml: " + e.getMessage(), e, showErrors );
+            // ----------------------------------------------------------------------
+            // The execution properties need to be created before the settings
+            // are constructed.
+            // ----------------------------------------------------------------------
 
-            return 1;
-        }
-        catch ( ComponentLookupException e )
-        {
-            showFatalError( "Unable to read settings.xml", e, showErrors );
+            Properties executionProperties = new Properties();
+            Properties userProperties = new Properties();
+            populateProperties( commandLine, executionProperties, userProperties );
 
-            return 1;
-        }
+            Settings settings;
 
-        DefaultSecDispatcher dispatcher;
-        try
-        {
-            if ( commandLine.hasOption( CLIManager.ENCRYPT_MASTER_PASSWORD ) )
+            try
+            {
+                settings = buildSettings( commandLine );
+            }
+            catch ( SettingsConfigurationException e )
             {
-                String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_MASTER_PASSWORD );
+                showError( "Error reading settings.xml: " + e.getMessage(), e, showErrors );
 
-                DefaultPlexusCipher cipher = new DefaultPlexusCipher();
+                return 1;
+            }
+            catch ( ComponentLookupException e )
+            {
+                showFatalError( "Unable to read settings.xml", e, showErrors );
 
-                System.out.println( cipher.encryptAndDecorate( passwd,
-                                                               DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION ) );
-                
-                return 0;
+                return 1;
             }
-            else if ( commandLine.hasOption( CLIManager.ENCRYPT_PASSWORD ) )
+
+            DefaultSecDispatcher dispatcher;
+            try
             {
-                String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_PASSWORD );
-                
-                dispatcher = (DefaultSecDispatcher) embedder.lookup( SecDispatcher.ROLE );
-                String configurationFile = dispatcher.getConfigurationFile();
-                if ( configurationFile.startsWith( "~" ) )
+                if ( commandLine.hasOption( CLIManager.ENCRYPT_MASTER_PASSWORD ) )
                 {
-                    configurationFile = System.getProperty( "user.home" ) + configurationFile.substring( 1 );
+                    String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_MASTER_PASSWORD );
+
+                    DefaultPlexusCipher cipher = new DefaultPlexusCipher();
+
+                    System.out.println( cipher.encryptAndDecorate( passwd,
+                                                                   DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION ) );
+                    
+                    return 0;
                 }
-                String file = System.getProperty( DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION, configurationFile );
-                embedder.release( dispatcher );
-                
-                String master = null;
-                
-                SettingsSecurity sec = SecUtil.read( file, true );
-                if ( sec != null )
+                else if ( commandLine.hasOption( CLIManager.ENCRYPT_PASSWORD ) )
                 {
-                    master = sec.getMaster();
-                }
+                    String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_PASSWORD );
+                    
+                    dispatcher = (DefaultSecDispatcher) embedder.lookup( SecDispatcher.ROLE );
+                    String configurationFile = dispatcher.getConfigurationFile();
+                    if ( configurationFile.startsWith( "~" ) )
+                    {
+                        configurationFile = System.getProperty( "user.home" ) + configurationFile.substring( 1 );
+                    }
+                    String file = System.getProperty( DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION, configurationFile );
+                    embedder.release( dispatcher );
+                    
+                    String master = null;
+                    
+                    SettingsSecurity sec = SecUtil.read( file, true );
+                    if ( sec != null )
+                    {
+                        master = sec.getMaster();
+                    }
 
-                if ( master == null )
-                {
-                    System.err.println( "Master password is not set in the setting security file" );
+                    if ( master == null )
+                    {
+                        System.err.println( "Master password is not set in the setting security file" );
+                        
+                        return 1;
+                    }
                     
-                    return 1;
+                    DefaultPlexusCipher cipher = new DefaultPlexusCipher();
+                    String masterPasswd =
+                        cipher.decryptDecorated( master, DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION );
+                    System.out.println( cipher.encryptAndDecorate( passwd, masterPasswd ) );
+                    
+                    return 0;
                 }
+            }
+            catch ( Exception e )
+            {
+                showFatalError( "Error encrypting password: " + e.getMessage(), e, showErrors );
                 
-                DefaultPlexusCipher cipher = new DefaultPlexusCipher();
-                String masterPasswd =
-                    cipher.decryptDecorated( master, DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION );
-                System.out.println( cipher.encryptAndDecorate( passwd, masterPasswd ) );
-                
-                return 0;
+                return 1;
             }
-        }
-        catch ( Exception e )
-        {
-            showFatalError( "Error encrypting password: " + e.getMessage(), e, showErrors );
-            
-            return 1;
-        }
-            
-        Maven maven = null;
-
-        MavenExecutionRequest request = null;
+                
+            Maven maven = null;
 
-        LoggerManager loggerManager = null;
+            MavenExecutionRequest request = null;
 
-        try
-        {
-            // logger must be created first
-            loggerManager = (LoggerManager) embedder.lookup( LoggerManager.ROLE );
+            LoggerManager loggerManager = null;
 
-            if ( debug )
-            {
-                loggerManager.setThreshold( Logger.LEVEL_DEBUG );
-            }
-            else if ( commandLine.hasOption( CLIManager.QUIET ) )
+            try
             {
-                // TODO: we need to do some more work here. Some plugins use sys out or log errors at info level.
-                // Ideally, we could use Warn across the board
-                loggerManager.setThreshold( Logger.LEVEL_ERROR );
-                // TODO:Additionally, we can't change the mojo level because the component key includes the version and it isn't known ahead of time. This seems worth changing.
-            }
+                // logger must be created first
+                loggerManager = (LoggerManager) embedder.lookup( LoggerManager.ROLE );
 
-            ProfileManager profileManager = new DefaultProfileManager( embedder.getContainer(), executionProperties );
+                if ( debug )
+                {
+                    loggerManager.setThreshold( Logger.LEVEL_DEBUG );
+                }
+                else if ( commandLine.hasOption( CLIManager.QUIET ) )
+                {
+                    // TODO: we need to do some more work here. Some plugins use sys out or log errors at info level.
+                    // Ideally, we could use Warn across the board
+                    loggerManager.setThreshold( Logger.LEVEL_ERROR );
+                    // TODO:Additionally, we can't change the mojo level because the component key includes the version and it isn't known ahead of time. This seems worth changing.
+                }
 
-            if ( commandLine.hasOption( CLIManager.ACTIVATE_PROFILES ) )
-            {
-                String [] profileOptionValues = commandLine.getOptionValues( CLIManager.ACTIVATE_PROFILES );
+                ProfileManager profileManager = new DefaultProfileManager( embedder.getContainer(), executionProperties );
 
-                if ( profileOptionValues != null )
+                if ( commandLine.hasOption( CLIManager.ACTIVATE_PROFILES ) )
                 {
-                    for ( int i=0; i < profileOptionValues.length; ++i )
-                    {
-                        StringTokenizer profileTokens = new StringTokenizer( profileOptionValues[i], "," );
+                    String [] profileOptionValues = commandLine.getOptionValues( CLIManager.ACTIVATE_PROFILES );
 
-                        while ( profileTokens.hasMoreTokens() )
+                    if ( profileOptionValues != null )
+                    {
+                        for ( int i=0; i < profileOptionValues.length; ++i )
                         {
-                            String profileAction = profileTokens.nextToken().trim();
+                            StringTokenizer profileTokens = new StringTokenizer( profileOptionValues[i], "," );
 
-                            if ( profileAction.startsWith( "-" ) || profileAction.startsWith( "!" ) )
+                            while ( profileTokens.hasMoreTokens() )
                             {
-                                profileManager.explicitlyDeactivate( profileAction.substring( 1 ) );
-                            }
-                            else if ( profileAction.startsWith( "+" ) )
-                            {
-                                profileManager.explicitlyActivate( profileAction.substring( 1 ) );
-                            }
-                            else
-                            {
-                                profileManager.explicitlyActivate( profileAction );
+                                String profileAction = profileTokens.nextToken().trim();
+
+                                if ( profileAction.startsWith( "-" ) || profileAction.startsWith( "!" ) )
+                                {
+                                    profileManager.explicitlyDeactivate( profileAction.substring( 1 ) );
+                                }
+                                else if ( profileAction.startsWith( "+" ) )
+                                {
+                                    profileManager.explicitlyActivate( profileAction.substring( 1 ) );
+                                }
+                                else
+                                {
+                                    profileManager.explicitlyActivate( profileAction );
+                                }
                             }
                         }
                     }
                 }
-            }
 
-            request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager,
-                                     executionProperties, userProperties, showErrors );
+                request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager,
+                                         executionProperties, userProperties, showErrors );
 
-            setProjectFileOptions( commandLine, request );
+                setProjectFileOptions( commandLine, request );
 
-            maven =
-                createMavenInstance( settings.isInteractiveMode(),
-                                     loggerManager.getLoggerForComponent( WagonManager.ROLE ) );
-        }
-        catch ( ComponentLookupException e )
-        {
-            showFatalError( "Unable to configure the Maven application", e, showErrors );
+                maven =
+                    createMavenInstance( settings.isInteractiveMode(),
+                                         loggerManager.getLoggerForComponent( WagonManager.ROLE ) );
+            }
+            catch ( ComponentLookupException e )
+            {
+                showFatalError( "Unable to configure the Maven application", e, showErrors );
 
-            return 1;
-        }
-        finally
-        {
-            if ( loggerManager != null )
+                return 1;
+            }
+            finally
             {
-                try
-                {
-                    embedder.release( loggerManager );
-                }
-                catch ( ComponentLifecycleException e )
+                if ( loggerManager != null )
                 {
-                    showFatalError( "Error releasing logging manager", e, showErrors );
+                    try
+                    {
+                        embedder.release( loggerManager );
+                    }
+                    catch ( ComponentLifecycleException e )
+                    {
+                        showFatalError( "Error releasing logging manager", e, showErrors );
+                    }
                 }
             }
-        }
 
-        try
-        {
-            maven.execute( request );
+            try
+            {
+                maven.execute( request );
+            }
+            catch ( MavenExecutionException e )
+            {
+                return 1;
+            }
         }
-        catch ( MavenExecutionException e )
+        finally
         {
-            return 1;
+            embedder.stop();
         }
 
         return 0;

Modified: maven/components/branches/maven-2.2.0-RC/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/pom.xml?rev=781439&r1=781438&r2=781439&view=diff
==============================================================================
--- maven/components/branches/maven-2.2.0-RC/pom.xml (original)
+++ maven/components/branches/maven-2.2.0-RC/pom.xml Wed Jun  3 15:39:52 2009
@@ -140,7 +140,7 @@
         </plugin>
         <plugin>
           <artifactId>maven-assembly-plugin</artifactId>
-          <version>2.2-beta-1</version>
+          <version>2.2-beta-4</version>
         </plugin>
         <plugin>
           <artifactId>maven-shade-plugin</artifactId>