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;
}