Author: bentmann Date: Thu Nov 18 23:10:41 2010 New Revision: 1036677 URL: http://svn.apache.org/viewvc?rev=1036677&view=rev Log: [MNG-4850] [regression] several elements of server configuration in settings.xml are not honoured
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=1036677&r1=1036676&r2=1036677&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Thu Nov 18 23:10:41 2010 @@ -68,10 +68,12 @@ import org.codehaus.plexus.PlexusContain import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.dag.CycleDetectedException; +import org.codehaus.plexus.util.xml.Xpp3Dom; import org.sonatype.aether.ConfigurationProperties; import org.sonatype.aether.RepositoryEvent; import org.sonatype.aether.RepositorySystem; @@ -331,14 +333,11 @@ public class DefaultMaven session.setIgnoreInvalidArtifactDescriptor( true ).setIgnoreMissingArtifactDescriptor( true ); - session.setUserProps( request.getUserProperties() ); - session.setSystemProps( request.getSystemProperties() ); Map<Object, Object> configProps = new LinkedHashMap<Object, Object>(); configProps.put( ConfigurationProperties.USER_AGENT, getUserAgent() ); configProps.put( ConfigurationProperties.INTERACTIVE, Boolean.valueOf( request.isInteractiveMode() ) ); configProps.putAll( request.getSystemProperties() ); configProps.putAll( request.getUserProperties() ); - session.setConfigProps( configProps ); session.setOffline( request.isOffline() ); session.setChecksumPolicy( request.getGlobalChecksumPolicy() ); @@ -398,6 +397,25 @@ public class DefaultMaven new Authentication( server.getUsername(), server.getPassword(), server.getPrivateKey(), server.getPassphrase() ); authSelector.add( server.getId(), auth ); + + if ( server.getConfiguration() != null ) + { + Xpp3Dom dom = (Xpp3Dom) server.getConfiguration(); + for ( int i = dom.getChildCount() - 1; i >= 0; i-- ) + { + Xpp3Dom child = dom.getChild( i ); + if ( "wagonProvider".equals( child.getName() ) ) + { + dom.removeChild( i ); + } + } + + XmlPlexusConfiguration config = new XmlPlexusConfiguration( dom ); + configProps.put( "aether.connector.wagon.config." + server.getId(), config ); + } + + configProps.put( "aether.connector.perms.fileMode." + server.getId(), server.getFilePermissions() ); + configProps.put( "aether.connector.perms.dirMode." + server.getId(), server.getDirectoryPermissions() ); } session.setAuthenticationSelector( authSelector ); @@ -422,6 +440,10 @@ public class DefaultMaven session.setRepositoryListener( new LoggingRepositoryListener( logger ) ); + session.setUserProps( request.getUserProperties() ); + session.setSystemProps( request.getSystemProperties() ); + session.setConfigProps( configProps ); + return session; }