o add default plugin artifact repositories in the populator

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@796817 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2009-07-22 17:56:18 +00:00
parent c6eb6bd219
commit b69b4ab4f9
3 changed files with 56 additions and 12 deletions

View File

@ -837,6 +837,21 @@ public List<ArtifactRepository> getRemoteRepositories()
return remoteRepositories;
}
public MavenExecutionRequest addPluginArtifactRepository( ArtifactRepository repository )
{
for ( ArtifactRepository repo : getPluginArtifactRepositories() )
{
if ( repo.getId() != null && repo.getId().equals( repository.getId() ) )
{
return this;
}
}
getPluginArtifactRepositories().add( repository );
return this;
}
public List<ArtifactRepository> getPluginArtifactRepositories()
{
if ( pluginArtifactRepositories == null )

View File

@ -207,6 +207,8 @@ public interface MavenExecutionRequest
MavenExecutionRequest setGlobalSettingsFile( File globalSettingsFile );
MavenExecutionRequest addRemoteRepository( ArtifactRepository repository );
MavenExecutionRequest addPluginArtifactRepository( ArtifactRepository repository );
/**
* Set a new list of remote repositories to use the execution request. This is necessary if you perform
* transformations on the remote repositories being used. For example if you replace existing repositories with

View File

@ -75,13 +75,13 @@ else if ( request.getBaseDirectory() == null )
request.setBaseDirectory( new File( System.getProperty( "user.dir" ) ) );
}
}
private void populateDefaultPluginGroups( MavenExecutionRequest request )
{
request.addPluginGroup( "org.apache.maven.plugins" );
request.addPluginGroup( "org.codehaus.mojo" );
}
// Process plugin groups
// Get profile models
// Get active profiles
@ -89,18 +89,18 @@ private void processSettings( MavenExecutionRequest request )
throws MavenEmbedderException
{
Settings settings = request.getSettings();
request.addPluginGroups( settings.getPluginGroups() );
populateDefaultPluginGroups( request );
List<org.apache.maven.settings.Profile> settingsProfiles = settings.getProfiles();
// We just need to keep track of what profiles are being activated by the settings. We don't need to process
// them here. This should be taken care of by the project builder.
//
request.addActiveProfiles( settings.getActiveProfiles() );
request.addActiveProfiles( settings.getActiveProfiles() );
// We only need to take the profiles and make sure they are available when the calculation of the active profiles
// is determined.
//
@ -108,11 +108,13 @@ private void processSettings( MavenExecutionRequest request )
{
for ( org.apache.maven.settings.Profile rawProfile : settings.getProfiles() )
{
request.addProfile( SettingsUtils.convertFromSettingsProfile( rawProfile ) );
request.addProfile( SettingsUtils.convertFromSettingsProfile( rawProfile ) );
}
}
injectDefaultRepositories( request );
injectDefaultPluginRepositories( request );
processRepositoriesInSettings( request );
}
@ -130,7 +132,7 @@ private void injectDefaultRepositories( MavenExecutionRequest request )
}
if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID ) )
{
{
try
{
request.addRemoteRepository( repositorySystem.createDefaultRemoteRepository() );
@ -142,6 +144,31 @@ private void injectDefaultRepositories( MavenExecutionRequest request )
}
}
private void injectDefaultPluginRepositories( MavenExecutionRequest request )
throws MavenEmbedderException
{
Set<String> definedRepositories = new HashSet<String>();
if ( request.getPluginArtifactRepositories() != null )
{
for ( ArtifactRepository repository : request.getPluginArtifactRepositories() )
{
definedRepositories.add( repository.getId() );
}
}
if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID ) )
{
try
{
request.addPluginArtifactRepository( repositorySystem.createDefaultRemoteRepository() );
}
catch ( InvalidRepositoryException e )
{
throw new MavenEmbedderException( "Cannot create default remote repository.", e );
}
}
}
private void processRepositoriesInSettings( MavenExecutionRequest request )
throws MavenEmbedderException
{
@ -158,7 +185,7 @@ private void processRepositoriesInSettings( MavenExecutionRequest request )
// <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
// </proxy>
// </proxies>
/*
Proxy proxy = settings.getActiveProxy();
@ -302,7 +329,7 @@ public MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
throws MavenEmbedderException
{
pom( request );
settings( request );
localRepository( request );
@ -310,7 +337,7 @@ public MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
toolchains( request );
processSettings( request );
return request;
}
}