Author: jvanzyl
Date: Sat Feb 25 07:58:22 2006
New Revision: 380941
URL: http://svn.apache.org/viewcvs?rev=380941&view=rev
Log:
o i've managed to make the execution request purely a matter of configuration
right now. i still need to
clarify settings creation and local/remote repository use but this is much
better.
the CLI will soon be free of all maven internals (it mostly is now) and we'll
soon be able to align with
the embedder code. we can actually just use the embedder.
Modified:
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
Modified:
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL:
http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=380941&r1=380940&r2=380941&view=diff
==============================================================================
---
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
(original)
+++
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
Sat Feb 25 07:58:22 2006
@@ -31,6 +31,7 @@
import org.apache.maven.monitor.event.EventDispatcher;
import org.apache.maven.monitor.event.MavenEvents;
import org.apache.maven.monitor.event.DefaultEventDispatcher;
+import org.apache.maven.monitor.event.DefaultEventMonitor;
import org.apache.maven.profiles.ProfileManager;
import org.apache.maven.profiles.DefaultProfileManager;
import org.apache.maven.profiles.activation.ProfileActivationException;
@@ -45,6 +46,7 @@
import org.apache.maven.settings.Settings;
import org.apache.maven.usability.SystemWarnings;
import org.apache.maven.usability.diagnostics.ErrorDiagnostics;
+import org.apache.maven.plugin.Mojo;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
@@ -52,7 +54,11 @@
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.logging.LoggerManager;
+import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.dag.CycleDetectedException;
import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -75,7 +81,7 @@
*/
public class DefaultMaven
extends AbstractLogEnabled
- implements Maven, Contextualizable
+ implements Maven, Contextualizable, Initializable
{
// ----------------------------------------------------------------------
// Components
@@ -93,6 +99,8 @@
protected WagonManager wagonManager;
+ protected LoggerManager loggerManager;
+
private static final long MB = 1024 * 1024;
private static final int MS_PER_SEC = 1000;
@@ -106,6 +114,15 @@
public void execute( MavenExecutionRequest request )
throws MavenExecutionException
{
+ Logger logger = loggerManager.getLoggerForComponent( Mojo.ROLE );
+
+ if ( request.isDefaultEventMonitorActive() )
+ {
+ request.addEventMonitor( new DefaultEventMonitor( logger ) );
+ }
+
+ loggerManager.setThreshold( request.getLoggingLevel() );
+
request.setStartTime( new Date() );
wagonManager.setInteractive( request.isInteractive() );
@@ -614,6 +631,18 @@
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY
);
}
+ public void initialize()
+ throws InitializationException
+ {
+ try
+ {
+ loggerManager = (LoggerManager) container.lookup(
LoggerManager.ROLE );
+ }
+ catch ( ComponentLookupException e )
+ {
+ throw new InitializationException( "Cannot lookup logger
manager.", e );
+ }
+ }
// ----------------------------------------------------------------------
// Reporting / Logging
// ----------------------------------------------------------------------
Modified:
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL:
http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=380941&r1=380940&r2=380941&view=diff
==============================================================================
---
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
(original)
+++
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
Sat Feb 25 07:58:22 2006
@@ -33,8 +33,6 @@
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.ReactorManager;
-import org.apache.maven.monitor.event.DefaultEventMonitor;
-import org.apache.maven.plugin.Mojo;
import org.apache.maven.reactor.MavenExecutionException;
import org.apache.maven.settings.MavenSettingsBuilder;
import org.apache.maven.settings.RuntimeInfo;
@@ -44,8 +42,6 @@
import org.codehaus.plexus.PlexusContainerException;
import
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.embed.Embedder;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.logging.LoggerManager;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
@@ -60,8 +56,9 @@
* @author jason van zyl
* @version $Id$
* @noinspection UseOfSystemOutOrSystemErr,ACCESS_STATIC_VIA_INSTANCE
- * @todo loggerManager is internal
- * @todo there shouldn't actually be any components in here. so remove all cli
free code now
+ * @todo clear strategy for creating local repository
+ * @todo clear strategy
+ * @todo clearn strategy for using settings, they are really an artifact of
the CLI but people want integration with existing installations
*/
public class MavenCli
{
@@ -347,23 +344,18 @@
ArtifactRepository localRepository = createLocalRepository(
settings, offline, updateSnapshots, globalChecksumPolicy );
- // The default event monitor is for plexus logging so maybe this
should be something that is configurable and
- // not turned on by default.
-
- // ---remove
-
- LoggerManager loggerManager = (LoggerManager) embedder.lookup(
LoggerManager.ROLE );
+ int loggingLevel;
if ( debug )
{
- loggerManager.setThreshold( Logger.LEVEL_DEBUG );
+ loggingLevel = MavenExecutionRequest.LOGGING_LEVEL_DEBUG;
+ }
+ else
+ {
+ loggingLevel = MavenExecutionRequest.LOGGING_LEVEL_WARN;
}
- // maybe just have an option to turn it on
-
- // ---remove
-
- Logger logger = loggerManager.getLoggerForComponent( Mojo.ROLE );
+ Maven maven = (Maven) embedder.lookup( Maven.ROLE );
MavenExecutionRequest request = new DefaultMavenExecutionRequest()
.setBasedir( baseDirectory )
@@ -380,9 +372,8 @@
.setTransferListener( transferListener )
.addActiveProfiles( activeProfiles )
.addInactiveProfiles( inactiveProfiles )
- .addEventMonitor( new DefaultEventMonitor( logger ) );
-
- Maven maven = (Maven) embedder.lookup( Maven.ROLE );
+ .setLoggingLevel( loggingLevel )
+ .activateDefaultEventMonitor();
maven.execute( request );
}
Modified:
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL:
http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=380941&r1=380940&r2=380941&view=diff
==============================================================================
---
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
(original)
+++
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
Sat Feb 25 07:58:22 2006
@@ -71,6 +71,10 @@
private TransferListener transferListener;
+ private int loggingLevel;
+
+ private boolean activateDefaultEventMonitor;
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -155,6 +159,21 @@
return transferListener;
}
+ public boolean isDefaultEventMonitorActivated()
+ {
+ return activateDefaultEventMonitor;
+ }
+
+ public int getLoggingLevel()
+ {
+ return loggingLevel;
+ }
+
+ public boolean isDefaultEventMonitorActive()
+ {
+ return activateDefaultEventMonitor;
+ }
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -283,6 +302,13 @@
return this;
}
+ public MavenExecutionRequest activateDefaultEventMonitor()
+ {
+ activateDefaultEventMonitor = true;
+
+ return this;
+ }
+
public MavenExecutionRequest setReactorActive( boolean reactorActive )
{
this.reactorActive = reactorActive;
@@ -319,6 +345,13 @@
public MavenExecutionRequest setTransferListener( TransferListener
transferListener )
{
this.transferListener = transferListener;
+
+ return this;
+ }
+
+ public MavenExecutionRequest setLoggingLevel( int loggingLevel )
+ {
+ this.loggingLevel = loggingLevel;
return this;
}
Modified:
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL:
http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=380941&r1=380940&r2=380941&view=diff
==============================================================================
---
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
(original)
+++
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
Sat Feb 25 07:58:22 2006
@@ -64,6 +64,26 @@
TransferListener getTransferListener();
+ int getLoggingLevel();
+
+ boolean isDefaultEventMonitorActive();
+
+ // ----------------------------------------------------------------------
+ // Logging
+ // ----------------------------------------------------------------------
+
+ static final int LOGGING_LEVEL_DEBUG = 0;
+
+ static final int LOGGING_LEVEL_INFO = 1;
+
+ static final int LOGGING_LEVEL_WARN = 2;
+
+ static final int LOGGING_LEVEL_ERROR = 3;
+
+ static final int LOGGING_LEVEL_FATAL = 4;
+
+ static final int LOGGING_LEVEL_DISABLE = 5;
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -105,4 +125,8 @@
MavenExecutionRequest setInteractive( boolean interactive );
MavenExecutionRequest setTransferListener( TransferListener
transferListener );
+
+ MavenExecutionRequest setLoggingLevel( int loggingLevel );
+
+ MavenExecutionRequest activateDefaultEventMonitor();
}