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