From d9bf8c6a60e67484e06401e082450604d85f48d8 Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Wed, 4 Mar 2009 18:40:33 +0000 Subject: [PATCH] o Reverted r750083 which is a bad approach with respect to embedding, instead just programmatically injected the central repo if not already given/overriden in the settings git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@750098 13f79535-47bb-0310-9956-ffa450edef68 --- apache-maven/src/conf/settings.xml | 31 ---------------- build.xml | 2 - .../apache/maven/embedder/MavenEmbedder.java | 1 - ...DefaultMavenExecutionRequestPopulator.java | 37 +++++++++++++++++++ 4 files changed, 37 insertions(+), 34 deletions(-) diff --git a/apache-maven/src/conf/settings.xml b/apache-maven/src/conf/settings.xml index b04a4f7ab2..f3bded711b 100644 --- a/apache-maven/src/conf/settings.xml +++ b/apache-maven/src/conf/settings.xml @@ -244,37 +244,6 @@ under the License. --> - - maven-central-repository - - true - - - - central - Maven Repository Switchboard - default - http://repo1.maven.org/maven2 - - false - - - - - - central - Maven Plugin Repository - http://repo1.maven.org/maven2 - default - - false - - - never - - - - - - diff --git a/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java b/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java index f85beec4a1..2a823b5e20 100644 --- a/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java +++ b/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java @@ -31,7 +31,6 @@ import java.util.List; import org.apache.maven.Maven; -import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; import org.apache.maven.artifact.resolver.ArtifactResolutionException; diff --git a/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java b/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java index 6a13c4aed5..124f214477 100644 --- a/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java +++ b/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java @@ -18,6 +18,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -35,6 +36,7 @@ import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.model.Profile; import org.apache.maven.model.Repository; +import org.apache.maven.model.RepositoryPolicy; import org.apache.maven.monitor.event.DefaultEventMonitor; import org.apache.maven.monitor.event.EventMonitor; import org.apache.maven.profiles.DefaultProfileManager; @@ -224,9 +226,44 @@ private void processSettings( MavenExecutionRequest request, Configuration confi } } + injectDefaultRepositories( request ); + processRepositoriesInSettings( request, configuration ); } + private void injectDefaultRepositories( MavenExecutionRequest request ) + throws MavenEmbedderException + { + Set definedRepositories = new HashSet(); + if ( request.getRemoteRepositories() != null ) + { + for ( ArtifactRepository repository : request.getRemoteRepositories() ) + { + definedRepositories.add( repository.getId() ); + } + } + + if ( !definedRepositories.contains( "central" ) ) + { + Repository repo = new Repository(); + repo.setId( "central" ); + repo.setUrl( "http://repo1.maven.org/maven2" ); + repo.setName( "Maven Repository Switchboard" ); + RepositoryPolicy snapshotPolicy = new RepositoryPolicy(); + snapshotPolicy.setEnabled( false ); + repo.setSnapshots( snapshotPolicy ); + try + { + ArtifactRepository ar = repositorySystem.buildArtifactRepository( repo ); + request.addRemoteRepository( ar ); + } + catch ( InvalidRepositoryException e ) + { + throw new MavenEmbedderException( "Cannot create remote repository " + repo.getId(), e ); + } + } + } + private void processRepositoriesInSettings( MavenExecutionRequest request, Configuration configuration ) throws MavenEmbedderException {