mirror of https://github.com/apache/maven.git
Fixing some lingering dependency ordering problems from artifact resolution, and adding settings-builder advice to the CLI.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@512339 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
de30bce7f6
commit
f4b3eedc8a
|
@ -16,8 +16,8 @@ package org.apache.maven.artifact.resolver;
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -39,7 +39,7 @@ public class ArtifactResolutionResult
|
||||||
{
|
{
|
||||||
if ( artifacts == null )
|
if ( artifacts == null )
|
||||||
{
|
{
|
||||||
artifacts = new HashSet();
|
artifacts = new LinkedHashSet();
|
||||||
|
|
||||||
for ( Iterator it = resolutionNodes.iterator(); it.hasNext(); )
|
for ( Iterator it = resolutionNodes.iterator(); it.hasNext(); )
|
||||||
{
|
{
|
||||||
|
@ -55,7 +55,7 @@ public class ArtifactResolutionResult
|
||||||
{
|
{
|
||||||
return resolutionNodes;
|
return resolutionNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setArtifactResolutionNodes( Set resolutionNodes )
|
public void setArtifactResolutionNodes( Set resolutionNodes )
|
||||||
{
|
{
|
||||||
this.resolutionNodes = resolutionNodes;
|
this.resolutionNodes = resolutionNodes;
|
||||||
|
|
|
@ -28,9 +28,9 @@ import org.apache.maven.artifact.versioning.VersionRange;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -58,7 +58,7 @@ public class DefaultArtifactCollector
|
||||||
ArtifactMetadataSource source, ArtifactFilter filter, List listeners )
|
ArtifactMetadataSource source, ArtifactFilter filter, List listeners )
|
||||||
throws ArtifactResolutionException
|
throws ArtifactResolutionException
|
||||||
{
|
{
|
||||||
Map resolvedArtifacts = new HashMap();
|
Map resolvedArtifacts = new LinkedHashMap();
|
||||||
|
|
||||||
ResolutionNode root = new ResolutionNode( originatingArtifact, remoteRepositories );
|
ResolutionNode root = new ResolutionNode( originatingArtifact, remoteRepositories );
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ public class DefaultArtifactCollector
|
||||||
recurse( root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
|
recurse( root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
|
||||||
listeners );
|
listeners );
|
||||||
|
|
||||||
Set set = new HashSet();
|
Set set = new LinkedHashSet();
|
||||||
|
|
||||||
for ( Iterator i = resolvedArtifacts.values().iterator(); i.hasNext(); )
|
for ( Iterator i = resolvedArtifacts.values().iterator(); i.hasNext(); )
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.apache.maven.embedder.MavenEmbedderException;
|
||||||
import org.apache.maven.execution.DefaultMavenExecutionRequest;
|
import org.apache.maven.execution.DefaultMavenExecutionRequest;
|
||||||
import org.apache.maven.execution.MavenExecutionRequest;
|
import org.apache.maven.execution.MavenExecutionRequest;
|
||||||
import org.apache.maven.execution.MavenExecutionResult;
|
import org.apache.maven.execution.MavenExecutionResult;
|
||||||
|
import org.apache.maven.settings.SettingsBuilderAdvice;
|
||||||
import org.codehaus.plexus.classworlds.ClassWorld;
|
import org.codehaus.plexus.classworlds.ClassWorld;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -314,6 +315,11 @@ public class MavenCli
|
||||||
}
|
}
|
||||||
|
|
||||||
Properties executionProperties = getExecutionProperties( commandLine );
|
Properties executionProperties = getExecutionProperties( commandLine );
|
||||||
|
|
||||||
|
SettingsBuilderAdvice settingsAdvice = new SettingsBuilderAdvice();
|
||||||
|
|
||||||
|
settingsAdvice.setDefaultGlobalLocationEnabled( true );
|
||||||
|
settingsAdvice.setDefaultUserLocationEnabled( true );
|
||||||
|
|
||||||
MavenExecutionRequest request = new DefaultMavenExecutionRequest()
|
MavenExecutionRequest request = new DefaultMavenExecutionRequest()
|
||||||
.setBaseDirectory( baseDirectory )
|
.setBaseDirectory( baseDirectory )
|
||||||
|
@ -326,6 +332,7 @@ public class MavenCli
|
||||||
.setShowErrors( showErrors ) // default: false
|
.setShowErrors( showErrors ) // default: false
|
||||||
// Settings
|
// Settings
|
||||||
.setSettingsFile( commandLine.getOptionValue( CLIManager.ALTERNATE_USER_SETTINGS ) )
|
.setSettingsFile( commandLine.getOptionValue( CLIManager.ALTERNATE_USER_SETTINGS ) )
|
||||||
|
.setSettingsBuilderAdvice( settingsAdvice )
|
||||||
//.setLocalRepositoryPath( localRepositoryPath ) // default: ~/.m2/repository
|
//.setLocalRepositoryPath( localRepositoryPath ) // default: ~/.m2/repository
|
||||||
.setInteractiveMode( interactive ) // default: false
|
.setInteractiveMode( interactive ) // default: false
|
||||||
.setUsePluginRegistry( usePluginRegistry )
|
.setUsePluginRegistry( usePluginRegistry )
|
||||||
|
|
|
@ -528,9 +528,11 @@ public class DefaultMavenExecutionRequest
|
||||||
return advice;
|
return advice;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSettingsBuilderAdvice( SettingsBuilderAdvice advice )
|
public MavenExecutionRequest setSettingsBuilderAdvice( SettingsBuilderAdvice advice )
|
||||||
{
|
{
|
||||||
this.advice = advice;
|
this.advice = advice;
|
||||||
|
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,5 +193,5 @@ public interface MavenExecutionRequest
|
||||||
MavenExecutionRequest setUsePluginUpdateOverride( boolean usePluginUpdateOverride );
|
MavenExecutionRequest setUsePluginUpdateOverride( boolean usePluginUpdateOverride );
|
||||||
|
|
||||||
SettingsBuilderAdvice getSettingsBuilderAdvice();
|
SettingsBuilderAdvice getSettingsBuilderAdvice();
|
||||||
void setSettingsBuilderAdvice( SettingsBuilderAdvice advice );
|
MavenExecutionRequest setSettingsBuilderAdvice( SettingsBuilderAdvice advice );
|
||||||
}
|
}
|
||||||
|
|
|
@ -539,7 +539,7 @@ public class MavenProject
|
||||||
public List getTestClasspathElements()
|
public List getTestClasspathElements()
|
||||||
throws DependencyResolutionRequiredException
|
throws DependencyResolutionRequiredException
|
||||||
{
|
{
|
||||||
List list = new ArrayList( getArtifacts().size() + 1 );
|
List list = new ArrayList( getArtifacts().size() + 2 );
|
||||||
|
|
||||||
list.add( getBuild().getOutputDirectory() );
|
list.add( getBuild().getOutputDirectory() );
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,8 @@ public class DefaultMavenSettingsBuilder
|
||||||
return new Settings();
|
return new Settings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getLogger().debug( "Reading global settings from: " + globalSettingsFile );
|
||||||
|
|
||||||
Settings globalSettings = readSettings( globalSettingsFile );
|
Settings globalSettings = readSettings( globalSettingsFile );
|
||||||
|
|
||||||
if ( globalSettings == null )
|
if ( globalSettings == null )
|
||||||
|
@ -83,6 +85,8 @@ public class DefaultMavenSettingsBuilder
|
||||||
globalSettings = new Settings();
|
globalSettings = new Settings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getLogger().debug( "Reading user settings from: " + userSettingsFile );
|
||||||
|
|
||||||
Settings userSettings = readSettings( userSettingsFile );
|
Settings userSettings = readSettings( userSettingsFile );
|
||||||
|
|
||||||
if ( userSettings == null )
|
if ( userSettings == null )
|
||||||
|
@ -124,6 +128,7 @@ public class DefaultMavenSettingsBuilder
|
||||||
{
|
{
|
||||||
if ( settingsFile == null )
|
if ( settingsFile == null )
|
||||||
{
|
{
|
||||||
|
getLogger().debug( "Settings file is null. Returning." );
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,6 +136,8 @@ public class DefaultMavenSettingsBuilder
|
||||||
|
|
||||||
if ( settingsFile.exists() && settingsFile.isFile() )
|
if ( settingsFile.exists() && settingsFile.isFile() )
|
||||||
{
|
{
|
||||||
|
getLogger().debug( "Settings file is a proper file. Reading." );
|
||||||
|
|
||||||
FileReader reader = null;
|
FileReader reader = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue