You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2006/12/31 22:07:01 UTC
svn commit: r491490 - in /maven/components/trunk/maven-embedder/src/main:
java/org/apache/maven/embedder/execution/ resources/META-INF/plexus/
Author: jvanzyl
Date: Sun Dec 31 13:07:01 2006
New Revision: 491490
URL: http://svn.apache.org/viewvc?view=rev&rev=491490
Log:
MNG-2724: Create a component in the embedder who's responsibility is to configure an execution request
http://jira.codehaus.org/browse/MNG-2724
Added:
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java (with props)
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java (with props)
maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml (with props)
Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java?view=auto&rev=491490
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java Sun Dec 31 13:07:01 2006
@@ -0,0 +1,87 @@
+package org.apache.maven.embedder.execution;
+
+import java.io.File;
+
+import org.apache.maven.MavenTools;
+import org.apache.maven.SettingsConfigurationException;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.embedder.MavenEmbedderException;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+
+public class DefaultMavenExecutionRequestDefaultsPopulator
+ extends AbstractLogEnabled
+ implements MavenExecutionRequestDefaultsPopulator
+{
+ private MavenTools mavenTools;
+
+ private ArtifactRepositoryFactory artifactRepositoryFactory;
+
+ public MavenExecutionRequest populateDefaults(MavenExecutionRequest request)
+ throws MavenEmbedderException
+ {
+ // Settings
+ // Local repository
+ // TransferListener
+ // EventMonitor
+ // Proxy
+
+ // Settings
+
+ if ( request.getSettings() == null )
+ {
+ File userSettingsPath = mavenTools.getUserSettingsPath( request.getSettingsFile() );
+
+ File globalSettingsFile = mavenTools.getGlobalSettingsPath();
+
+ try
+ {
+ request.setSettings( mavenTools.buildSettings( userSettingsPath, globalSettingsFile, request.isInteractiveMode(),
+ request.isOffline(), request.isUsePluginRegistry(),
+ request.isUsePluginUpdateOverride() ) );
+ }
+ catch ( SettingsConfigurationException e )
+ {
+ throw new MavenEmbedderException( "Error processing settings.xml.", e );
+ }
+ }
+
+ // Local repository
+
+ if ( request.getLocalRepository() == null )
+ {
+ String localRepositoryPath = mavenTools.getLocalRepositoryPath( request.getSettings() );
+
+ if ( request.getLocalRepository() == null )
+ {
+ request.setLocalRepository( mavenTools.createLocalRepository( new File( localRepositoryPath ) ) );
+ }
+ }
+
+ // Repository update policies
+
+ boolean snapshotPolicySet = false;
+
+ if ( request.isOffline() )
+ {
+ snapshotPolicySet = true;
+ }
+
+ if ( !snapshotPolicySet ) {
+ if ( request.isUpdateSnapshots() )
+ {
+ artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS );
+ }
+ else if ( request.isNoSnapshotUpdates() )
+ {
+ getLogger().info( "+ Supressing SNAPSHOT updates.");
+ artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER );
+ }
+ }
+
+ artifactRepositoryFactory.setGlobalChecksumPolicy( request.getGlobalChecksumPolicy() );
+
+ return request;
+ }
+}
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestDefaultsPopulator.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java?view=auto&rev=491490
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java Sun Dec 31 13:07:01 2006
@@ -0,0 +1,12 @@
+package org.apache.maven.embedder.execution;
+
+import org.apache.maven.embedder.MavenEmbedderException;
+import org.apache.maven.execution.MavenExecutionRequest;
+
+public interface MavenExecutionRequestDefaultsPopulator
+{
+ String ROLE = MavenExecutionRequestDefaultsPopulator.class.getName();
+
+ MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
+ throws MavenEmbedderException;
+}
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestDefaultsPopulator.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml?view=auto&rev=491490
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml (added)
+++ maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml Sun Dec 31 13:07:01 2006
@@ -0,0 +1,16 @@
+<component-set>
+ <components>
+ <component>
+ <role>org.apache.maven.embedder.execution.MavenExecutionRequestDefaultsPopulator</role>
+ <implementation>org.apache.maven.embedder.execution.DefaultMavenExecutionRequestDefaultsPopulator</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.MavenTools</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
+ </requirement>
+ </requirements>
+ </component>
+ </components>
+</component-set>
\ No newline at end of file
Propchange: maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision