You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/02/01 00:42:14 UTC
[1/2] git commit: [MNG-5185] [MNG-5181] add cli flag to be able to
remove use of EnhancedLocalRepositoryManager.
[MNG-5185] [MNG-5181]
add cli flag to be able to remove use of EnhancedLocalRepositoryManager.
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/27f8b0f8
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/27f8b0f8
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/27f8b0f8
Branch: refs/heads/master
Commit: 27f8b0f81af3bf49cba251e2e857a7e67562132f
Parents: 6c3ec90
Author: olivier lamy <ol...@apache.org>
Authored: Fri Feb 1 00:35:46 2013 +0100
Committer: olivier lamy <ol...@apache.org>
Committed: Fri Feb 1 00:35:46 2013 +0100
----------------------------------------------------------------------
.../main/java/org/apache/maven/DefaultMaven.java | 23 ++++++++++++++-
.../execution/DefaultMavenExecutionRequest.java | 12 ++++++++
.../maven/execution/MavenExecutionRequest.java | 10 ++++++
.../main/java/org/apache/maven/cli/CLIManager.java | 3 ++
.../main/java/org/apache/maven/cli/MavenCli.java | 10 ++++++
5 files changed, 57 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/27f8b0f8/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index e80185b..a6e11e8 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -85,8 +85,10 @@ import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.repository.Authentication;
import org.sonatype.aether.repository.LocalRepository;
+import org.sonatype.aether.repository.NoLocalRepositoryManagerException;
import org.sonatype.aether.repository.RepositoryPolicy;
import org.sonatype.aether.repository.WorkspaceReader;
+import org.sonatype.aether.spi.localrepo.LocalRepositoryManagerFactory;
import org.sonatype.aether.util.DefaultRepositorySystemSession;
import org.sonatype.aether.util.repository.ChainedWorkspaceReader;
import org.sonatype.aether.util.repository.DefaultAuthenticationSelector;
@@ -128,6 +130,9 @@ public class DefaultMaven
@Requirement
private RepositorySystem repoSystem;
+ @Requirement (optional = true, hint = "simple")
+ private LocalRepositoryManagerFactory simpleLocalRepositoryManagerFactory;
+
@Requirement
private SettingsDecrypter settingsDecrypter;
@@ -352,7 +357,23 @@ public class DefaultMaven
session.setArtifactTypeRegistry( RepositoryUtils.newArtifactTypeRegistry( artifactHandlerManager ) );
LocalRepository localRepo = new LocalRepository( request.getLocalRepository().getBasedir() );
- session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( localRepo ) );
+
+ if (request.isUseSimpleLocalRepostoryManager())
+ {
+ try
+ {
+ session.setLocalRepositoryManager( simpleLocalRepositoryManagerFactory.newInstance( localRepo ) );
+ }
+ catch ( NoLocalRepositoryManagerException e )
+ {
+
+ logger.warn( "fail to configure simple local repository manager back to default" );
+ session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( localRepo ) );
+ }
+ }
+ else {
+ session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( localRepo ) );
+ }
if ( request.getWorkspaceReader() != null )
{
http://git-wip-us.apache.org/repos/asf/maven/blob/27f8b0f8/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
index 78436be..3139846 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
@@ -143,6 +143,8 @@ public class DefaultMavenExecutionRequest
*/
private boolean noSnapshotUpdates;
+ private boolean useSimpleLocalRepostoryManager = false;
+
public DefaultMavenExecutionRequest()
{
}
@@ -1076,4 +1078,14 @@ public class DefaultMavenExecutionRequest
return this;
}
+ public boolean isUseSimpleLocalRepostoryManager()
+ {
+ return this.useSimpleLocalRepostoryManager;
+ }
+
+ public MavenExecutionRequest setUseSimpleLocalRepostoryManager( boolean useSimpleLocalRepostoryManager )
+ {
+ this.useSimpleLocalRepostoryManager = useSimpleLocalRepostoryManager;
+ return this;
+ }
}
http://git-wip-us.apache.org/repos/asf/maven/blob/27f8b0f8/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
index ef88a17..5ab11b3 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
@@ -283,4 +283,14 @@ public interface MavenExecutionRequest
ProjectBuildingRequest getProjectBuildingRequest();
+ /**
+ * @since 3.1
+ */
+ boolean isUseSimpleLocalRepostoryManager();
+
+ /**
+ * @since 3.1
+ */
+ MavenExecutionRequest setUseSimpleLocalRepostoryManager(boolean useSimpleLocalRepostoryManager);
+
}
http://git-wip-us.apache.org/repos/asf/maven/blob/27f8b0f8/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
index 0e7f2b6..32c1bb2 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
@@ -97,6 +97,8 @@ public class CLIManager
public static final String THREADS = "T";
+ public static final String SIMPLE_LOCAL_REPOSITORY_MANAGER ="slrm";
+
protected Options options;
@SuppressWarnings( "static-access" )
@@ -134,6 +136,7 @@ public class CLIManager
options.addOption( OptionBuilder.withLongOpt( "encrypt-password" ).hasArg().withDescription( "Encrypt server password" ).create( ENCRYPT_PASSWORD ) );
options.addOption( OptionBuilder.withLongOpt( "threads" ).hasArg().withDescription( "Thread count, for instance 2.0C where C is core multiplied" ).create( THREADS ) );
+ options.addOption( OptionBuilder.withLongOpt( "simple-local-repository-manager" ).withDescription( "Use a simple local Repository Manager (no use of _maven.repositories)" ).create( SIMPLE_LOCAL_REPOSITORY_MANAGER ) );
// Adding this back in for compatibility with the verifier that hard codes this option.
options.addOption( OptionBuilder.withLongOpt( "no-plugin-registry" ).withDescription( "Ineffective, only kept for backward compatibility" ).create( "npr" ) );
http://git-wip-us.apache.org/repos/asf/maven/blob/27f8b0f8/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 5a4710f..dd42ba6 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -210,6 +210,7 @@ public class MavenCli
settings( cliRequest );
populateRequest( cliRequest );
encryption( cliRequest );
+ repository( cliRequest );
return execute( cliRequest );
}
catch ( ExitException e )
@@ -538,6 +539,15 @@ public class MavenCli
}
}
+ private void repository( CliRequest cliRequest )
+ throws Exception
+ {
+ if ( cliRequest.commandLine.hasOption( CLIManager.SIMPLE_LOCAL_REPOSITORY_MANAGER ) )
+ {
+ cliRequest.request.setUseSimpleLocalRepostoryManager( true );
+ }
+ }
+
private int execute( CliRequest cliRequest )
{
eventSpyDispatcher.onEvent( cliRequest.request );