You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2009/07/28 22:21:01 UTC

svn commit: r798699 - /maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java

Author: brett
Date: Tue Jul 28 20:21:01 2009
New Revision: 798699

URL: http://svn.apache.org/viewvc?rev=798699&view=rev
Log:
properly wrap the wagon manager up in a finally block

Modified:
    maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java

Modified: maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=798699&r1=798698&r2=798699&view=diff
==============================================================================
--- maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Tue Jul 28 20:21:01 2009
@@ -629,171 +629,176 @@
     private void resolveParameters( Settings settings, Properties executionProperties )
         throws ComponentLookupException, ComponentLifecycleException, SettingsConfigurationException
     {
-        // TODO: remove when components.xml can be used to configure this instead
+        WagonManager wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
+
         try
         {
-            DefaultWagonManager wagonManager = (DefaultWagonManager) container.lookup( WagonManager.ROLE );
-            
             if ( settings.isOffline() )
             {
                 getLogger().info( SystemWarnings.getOfflineWarning() );
-
+    
                 wagonManager.setOnline( false );
             }
 
-            String oldUserAgent = wagonManager.getHttpUserAgent();
-            int firstSpace = oldUserAgent == null ? -1 : oldUserAgent.indexOf( " " );
+            try
+            {
+                DefaultWagonManager wm = (DefaultWagonManager) wagonManager;
             
-            StringBuffer buffer = new StringBuffer();
+                String oldUserAgent = wm.getHttpUserAgent();
+                int firstSpace = oldUserAgent == null ? -1 : oldUserAgent.indexOf( " " );
             
-            buffer.append( "Apache-Maven/" );
+                StringBuffer buffer = new StringBuffer();
             
-            ArtifactVersion version = runtimeInformation.getApplicationVersion();
-            if ( version != null )
-            {
-                buffer.append( version.getMajorVersion() );
-                buffer.append( '.' );
-                buffer.append( version.getMinorVersion() );
-            }
-            else
-            {
-                buffer.append( "unknown" );
-            }
+                buffer.append( "Apache-Maven/" );
             
-            buffer.append( ' ' );
-            if ( firstSpace > -1 )
-            {
-                buffer.append( oldUserAgent.substring( firstSpace + 1 ) );
+                ArtifactVersion version = runtimeInformation.getApplicationVersion();
+                if ( version != null )
+                {
+                    buffer.append( version.getMajorVersion() );
+                    buffer.append( '.' );
+                    buffer.append( version.getMinorVersion() );
+                }
+                else
+                {
+                    buffer.append( "unknown" );
+                }
+                
                 buffer.append( ' ' );
-                buffer.append( oldUserAgent.substring( 0, firstSpace ) );
+                if ( firstSpace > -1 )
+                {
+                    buffer.append( oldUserAgent.substring( firstSpace + 1 ) );
+                    buffer.append( ' ' );
+                    buffer.append( oldUserAgent.substring( 0, firstSpace ) );
+                }
+                else
+                {
+                    buffer.append( oldUserAgent );
+                }
+                
+                wm.setHttpUserAgent( buffer.toString() );
             }
-            else
+            catch ( ClassCastException e )
             {
-                buffer.append( oldUserAgent );
+                // ignore
             }
-            
-            wagonManager.setHttpUserAgent(  buffer.toString() );
-        }
-        catch ( ClassCastException e )
-        {
-            // ignore
-        }
 
-        WagonManager wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
-
-        SecDispatcher sd = null;
+            SecDispatcher sd = null;
         
-        try
-        {
-            Proxy proxy = settings.getActiveProxy();
-            
             try
             {
-                sd = (SecDispatcher) container.lookup( SecDispatcher.ROLE, "maven" );
-            }
-            catch (Exception e)
-            {
-                getLogger().warn( "Security features are disabled. Cannot find plexus component "+SecDispatcher.ROLE + ":maven" );
-                
-                line();
-            }
-
-            if ( proxy != null )
-            {
-                if ( proxy.getHost() == null )
+                Proxy proxy = settings.getActiveProxy();
+            
+                try
                 {
-                    throw new SettingsConfigurationException( "Proxy in settings.xml has no host" );
+                    sd = (SecDispatcher) container.lookup( SecDispatcher.ROLE, "maven" );
                 }
-                
-                String pass = proxy.getPassword();
-                
-                if ( sd != null )
+                catch (Exception e)
+                {
+                    getLogger().warn( "Security features are disabled. Cannot find plexus component "+SecDispatcher.ROLE + ":maven" );
+                    
+                    line();
+                }
+    
+                if ( proxy != null )
                 {
-                    try
+                    if ( proxy.getHost() == null )
                     {
-                        pass = sd.decrypt( pass );
+                        throw new SettingsConfigurationException( "Proxy in settings.xml has no host" );
                     }
-                    catch ( SecDispatcherException e )
+                    
+                    String pass = proxy.getPassword();
+                    
+                    if ( sd != null )
                     {
-                        reportSecurityConfigurationError( "password for proxy '" + proxy.getId() + "'", e );
+                        try
+                        {
+                            pass = sd.decrypt( pass );
+                        }
+                        catch ( SecDispatcherException e )
+                        {
+                            reportSecurityConfigurationError( "password for proxy '" + proxy.getId() + "'", e );
+                        }
                     }
+    
+                    wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(),
+                                           pass, proxy.getNonProxyHosts() );
                 }
-
-                wagonManager.addProxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(),
-                                       pass, proxy.getNonProxyHosts() );
-            }
-            
-            for ( Iterator i = settings.getServers().iterator(); i.hasNext(); )
-            {
-                Server server = (Server) i.next();
                 
-                String passWord = server.getPassword();
-
-                if ( sd != null )
+                for ( Iterator i = settings.getServers().iterator(); i.hasNext(); )
                 {
-                    try
+                    Server server = (Server) i.next();
+                    
+                    String passWord = server.getPassword();
+    
+                    if ( sd != null )
                     {
-                        passWord = sd.decrypt( passWord );
+                        try
+                        {
+                            passWord = sd.decrypt( passWord );
+                        }
+                        catch ( SecDispatcherException e )
+                        {
+                            reportSecurityConfigurationError( "password for server '" + server.getId() + "'", e );
+                        }
                     }
-                    catch ( SecDispatcherException e )
+                    
+                    String passPhrase = server.getPassphrase();
+    
+                    if ( sd != null )
+                    {
+                        try
+                        {
+                            passPhrase = sd.decrypt( passPhrase );
+                        }
+                        catch ( SecDispatcherException e )
+                        {
+                            reportSecurityConfigurationError( "passphrase for server '" + server.getId() + "'", e );
+                        }
+                    }
+    
+                    wagonManager.addAuthenticationInfo( server.getId(), server.getUsername(), passWord,
+                                                        server.getPrivateKey(), passPhrase );
+    
+                    wagonManager.addPermissionInfo( server.getId(), server.getFilePermissions(),
+                                                    server.getDirectoryPermissions() );
+    
+                    if ( server.getConfiguration() != null )
                     {
-                        reportSecurityConfigurationError( "password for server '" + server.getId() + "'", e );
+                        wagonManager.addConfiguration( server.getId(), (Xpp3Dom) server.getConfiguration() );
                     }
                 }
+    
+                for ( Iterator i = settings.getMirrors().iterator(); i.hasNext(); )
+                {
+                    Mirror mirror = (Mirror) i.next();
+    
+                    wagonManager.addMirror( mirror.getId(), mirror.getMirrorOf(), mirror.getUrl() );
+                }
                 
-                String passPhrase = server.getPassphrase();
-
-                if ( sd != null )
+                for ( Object k: executionProperties.keySet() )
                 {
-                    try
+                    String key = (String) k;
+                    if ( key.startsWith( "maven.wagon.provider." ) )
                     {
-                        passPhrase = sd.decrypt( passPhrase );
+                        String provider = executionProperties.getProperty( key );
+                        key = key.substring( "maven.wagon.provider.".length() );
+                        
+                        wagonManager.setWagonProvider( key, provider );
                     }
-                    catch ( SecDispatcherException e )
-                    {
-                        reportSecurityConfigurationError( "passphrase for server '" + server.getId() + "'", e );
-                    }
-                }
-
-                wagonManager.addAuthenticationInfo( server.getId(), server.getUsername(), passWord,
-                                                    server.getPrivateKey(), passPhrase );
-
-                wagonManager.addPermissionInfo( server.getId(), server.getFilePermissions(),
-                                                server.getDirectoryPermissions() );
-
-                if ( server.getConfiguration() != null )
-                {
-                    wagonManager.addConfiguration( server.getId(), (Xpp3Dom) server.getConfiguration() );
+                    
                 }
             }
-
-            for ( Iterator i = settings.getMirrors().iterator(); i.hasNext(); )
-            {
-                Mirror mirror = (Mirror) i.next();
-
-                wagonManager.addMirror( mirror.getId(), mirror.getMirrorOf(), mirror.getUrl() );
-            }
-            
-            for ( Object k: executionProperties.keySet() )
+            finally
             {
-                String key = (String) k;
-                if ( key.startsWith( "maven.wagon.provider." ) )
+                if ( sd != null )
                 {
-                    String provider = executionProperties.getProperty( key );
-                    key = key.substring( "maven.wagon.provider.".length() );
-                    
-                    wagonManager.setWagonProvider( key, provider );
+                    container.release( sd );
                 }
-                
             }
         }
         finally
         {
             container.release( wagonManager );
-            if ( sd != null )
-            {
-                container.release( sd );
-            }
         }
         
         // Would be better in settings.xml, but it is not extensible yet