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();
 }


Reply via email to