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