Author: jvanzyl
Date: Sun Dec 31 13:04:13 2006
New Revision: 491487
URL: http://svn.apache.org/viewvc?view=rev&rev=491487
Log:
MNG-2724: Create a component in the embedder who's responsibility is to
configure an execution request
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/trunk/maven-embedder/pom.xml
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?view=diff&rev=491487&r1=491486&r2=491487
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
Sun Dec 31 13:04:13 2006
@@ -121,29 +121,7 @@
public MavenExecutionResult execute( MavenExecutionRequest request )
throws MavenExecutionException
- {
- //*** Move this stuff to the embedder
- 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() );
-
+ {
Logger logger = loggerManager.getLoggerForComponent( Mojo.ROLE );
if ( request.getEventMonitors() == null )
@@ -152,16 +130,14 @@
}
loggerManager.setThreshold( request.getLoggingLevel() );
-
- request.setStartTime( new Date() );
-
+
wagonManager.setInteractive( request.isInteractiveMode() );
wagonManager.setDownloadMonitor( request.getTransferListener() );
wagonManager.setOnline( !request.getSettings().isOffline() );
- //***
+ request.setStartTime( new Date() );
EventDispatcher dispatcher = new DefaultEventDispatcher(
request.getEventMonitors() );
@@ -279,7 +255,6 @@
line();
}
-
}
private ReactorManager doExecute( MavenExecutionRequest request,
EventDispatcher dispatcher )
Modified: maven/components/trunk/maven-embedder/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/pom.xml?view=diff&rev=491487&r1=491486&r2=491487
==============================================================================
--- maven/components/trunk/maven-embedder/pom.xml (original)
+++ maven/components/trunk/maven-embedder/pom.xml Sun Dec 31 13:04:13 2006
@@ -27,7 +27,7 @@
<artifactId>maven-embedder</artifactId>
<name>Maven Embedder</name>
<properties>
- <bundleVersion>2.1.0.v20061230-1839</bundleVersion>
+ <bundleVersion>2.1.0.v20061231-1402</bundleVersion>
</properties>
<build>
<resources>
Modified:
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?view=diff&rev=491487&r1=491486&r2=491487
==============================================================================
---
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
(original)
+++
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
Sun Dec 31 13:04:13 2006
@@ -29,6 +29,7 @@
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import
org.apache.maven.embedder.execution.MavenExecutionRequestDefaultsPopulator;
import org.apache.maven.execution.DefaultMavenExecutionResult;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResult;
@@ -111,6 +112,8 @@
private MavenTools mavenTools;
+ private MavenExecutionRequestDefaultsPopulator defaultsPopulator;
+
// ----------------------------------------------------------------------
// Configuration
// ----------------------------------------------------------------------
@@ -141,7 +144,8 @@
this( classWorld, null );
}
- public MavenEmbedder( ClassWorld classWorld, MavenEmbedderLogger logger )
+ public MavenEmbedder( ClassWorld classWorld,
+ MavenEmbedderLogger logger )
throws MavenEmbedderException
{
this.classWorld = classWorld;
@@ -157,7 +161,8 @@
this( classLoader, null );
}
- public MavenEmbedder( ClassLoader classLoader, MavenEmbedderLogger logger )
+ public MavenEmbedder( ClassLoader classLoader,
+ MavenEmbedderLogger logger )
throws MavenEmbedderException
{
this( new ClassWorld( "plexus.core", classLoader ), logger );
@@ -226,66 +231,18 @@
return mavenProjectBuilder.buildWithDependencies( mavenProject,
localRepository, profileManager );
}
- private MavenExecutionRequest populateMavenExecutionRequestWithDefaults(
MavenExecutionRequest r )
- throws MavenEmbedderException
- {
- // Settings
- // Local repository
- // TransferListener
- // EventMonitor
-
- if ( r.getSettings() == null )
- {
- File userSettingsPath = mavenTools.getUserSettingsPath(
r.getSettingsFile() );
-
- File globalSettingsFile = mavenTools.getGlobalSettingsPath();
-
- try
- {
- r.setSettings( mavenTools.buildSettings( userSettingsPath,
globalSettingsFile, r.isInteractiveMode(),
- r.isOffline(),
r.isUsePluginRegistry(),
-
r.isUsePluginUpdateOverride() ) );
- }
- catch ( SettingsConfigurationException e )
- {
- throw new MavenEmbedderException( "Error processing
settings.xml.", e );
- }
- }
-
- if ( r.getLocalRepository() == null )
- {
- String localRepositoryPath = mavenTools.getLocalRepositoryPath(
r.getSettings() );
-
- if ( r.getLocalRepository() == null )
- {
- r.setLocalRepository( mavenTools.createLocalRepository( new
File( localRepositoryPath ) ) );
- }
- }
-
- return r;
- }
-
/**
* This method is used to grab the list of dependencies that belong to a
project so that a UI
* can be populated. For example, a list of libraries that are used by an
Eclipse, Netbeans, or
* IntelliJ project.
*/
- // Not well formed exceptions to point people at errors
- // line number in the originating POM so that errors can be shown
- // Need to walk down the tree of dependencies and find all the errors and
report in the result
- // validate the request
- // for dependency errors: identifier, path
- // unable to see why you can't get a resource from the repository
- // short message or error id
- // completely obey the same settings used by the CLI, should work exactly
the same as the
- // command line. right now they are very different
public MavenExecutionResult readProjectWithDependencies(
MavenExecutionRequest request )
{
MavenProject project = null;
try
{
- request = populateMavenExecutionRequestWithDefaults( request );
+ request = defaultsPopulator.populateDefaults( request );
project = mavenProjectBuilder.buildWithDependencies( new File(
request.getPomFile() ),
request.getLocalRepository(), profileManager,
@@ -386,7 +343,6 @@
// ----------------------------------------------------------------------
// Execution of phases/goals
// ----------------------------------------------------------------------
-
// ----------------------------------------------------------------------
// Lifecycle information
// ----------------------------------------------------------------------
@@ -548,22 +504,8 @@
wagonManager = (WagonManager) container.lookup( WagonManager.ROLE
);
- //
----------------------------------------------------------------------------
- // Settings
- //
- // If the settings file and the global settings file are null then
we will use
- // the defaults that Maven provides.
- //
----------------------------------------------------------------------------
-
- if ( req.getUserSettingsFile() == null )
- {
- req.setUserSettingsFile( mavenTools.getUserSettingsPath( null
) );
- }
-
- if ( req.getGlobalSettingsFile() == null )
- {
- req.setGlobalSettingsFile( mavenTools.getGlobalSettingsPath()
);
- }
+ defaultsPopulator = (MavenExecutionRequestDefaultsPopulator)
container.lookup(
+ MavenExecutionRequestDefaultsPopulator.ROLE );
settings = mavenTools.buildSettings( req.getUserSettingsFile(),
req.getGlobalSettingsFile(), false );
@@ -595,7 +537,6 @@
private void resolveParameters( Settings settings )
throws SettingsConfigurationException
{
-
Proxy proxy = settings.getActiveProxy();
if ( proxy != null )
@@ -660,7 +601,7 @@
{
try
{
- request = populateMavenExecutionRequestWithDefaults( request );
+ request = defaultsPopulator.populateDefaults( request );
}
catch ( MavenEmbedderException e )
{