You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2005/10/01 03:17:44 UTC

svn commit: r292888 - in /maven/components/trunk/maven-embedder: ./ src/main/java/org/apache/maven/embedder/ src/test/java/org/apache/maven/embedder/

Author: jvanzyl
Date: Fri Sep 30 18:17:36 2005
New Revision: 292888

URL: http://svn.apache.org/viewcvs?rev=292888&view=rev
Log:
o first pass at allowing the logging to be configurable

Added:
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java   (with props)
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java   (with props)
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java   (with props)
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java   (with props)
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java   (with props)
Modified:
    maven/components/trunk/maven-embedder/Plugin.java
    maven/components/trunk/maven-embedder/notes.txt
    maven/components/trunk/maven-embedder/pom.xml
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
    maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java

Modified: maven/components/trunk/maven-embedder/Plugin.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/Plugin.java?rev=292888&r1=292887&r2=292888&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/Plugin.java (original)
+++ maven/components/trunk/maven-embedder/Plugin.java Fri Sep 30 18:17:36 2005
@@ -1,8 +1,11 @@
+import org.apache.maven.cli.ConsoleDownloadMonitor;
 import org.apache.maven.embedder.*;
 import org.apache.maven.project.*;
 import org.apache.maven.monitor.event.*;
 import java.io.*;
 import java.util.*;
+import org.codehaus.plexus.logging.*;
+import org.codehaus.plexus.logging.console.*;
 
 public class Plugin
 {
@@ -14,6 +17,8 @@
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
         
         maven.setClassLoader( classLoader );
+
+        maven.setLogger( new MavenEmbedderConsoleLogger() );                
         
         maven.start();
         
@@ -29,9 +34,13 @@
 
         MavenProject pom = maven.readProjectWithDependencies( pomFile );
 
-        EventDispatcher eventDispatcher = new DefaultEventDispatcher();
-
-        maven.execute( pom, Collections.singletonList( "package" ), eventDispatcher, null, targetDirectory );
+        EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
+        
+        System.out.println( "<<<<<<<<<<<<<<<<<<<<<<<<<");        
+        
+        maven.execute( pom, Collections.singletonList( "package" ), eventMonitor, new ConsoleDownloadMonitor(), targetDirectory );
+        
+        System.out.println( "<<<<<<<<<<<<<<<<<<<<<<<<<");        
     }
     
     public static void main( String[] args )

Modified: maven/components/trunk/maven-embedder/notes.txt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/notes.txt?rev=292888&r1=292887&r2=292888&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/notes.txt (original)
+++ maven/components/trunk/maven-embedder/notes.txt Fri Sep 30 18:17:36 2005
@@ -1,3 +1,10 @@
+o need to check in changes to plexus, maven-core, embedder
+o task segment still using the wrong logger
+
+x child container
+x mojos need to feed into the logging
+- surefire needs to feed into the logging
+
 When you create the assembly you must manually install it in your
 local repository for now in order the maven-embedder-it tests to
 work. jvz.
@@ -67,3 +74,12 @@
 
 <eu> one more thing I need in embedder - writeModel() method
 
+
+<jdcasey> you know something else that would rock for the eclipse plugin? if
+F5 triggered a re-resolution of the poms, and recreation of the .classpath,
+etc.
+<jdcasey> that way, if the pom was upgraded to the next version-SNAPSHOT,
+you'd get it
+<jdcasey> :)
+<jdcasey> configurable on|off, of course
+<jdcasey> F5 is refresh, BTW

Modified: maven/components/trunk/maven-embedder/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/pom.xml?rev=292888&r1=292887&r2=292888&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/pom.xml (original)
+++ maven/components/trunk/maven-embedder/pom.xml Fri Sep 30 18:17:36 2005
@@ -22,6 +22,11 @@
   </build>
   <dependencies>
     <dependency>
+      <groupId>plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+      <version>1.0-alpha-7-SNAPSHOT</version>
+    </dependency>  
+    <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-settings</artifactId>
       <version>2.0-beta-3-SNAPSHOT</version>
@@ -57,10 +62,6 @@
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-artifact</artifactId>
       <version>2.0-beta-3-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>

Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java?rev=292888&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java Fri Sep 30 18:17:36 2005
@@ -0,0 +1,124 @@
+package org.apache.maven.embedder;
+
+/*
+* Copyright 2001-2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/**
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @version $Id$
+ */
+public abstract class AbstractMavenEmbedderLogger
+        implements MavenEmbedderLogger
+{
+    private int threshold = MavenEmbedderLogger.LEVEL_INFO;
+
+    private String name;
+
+    public int getThreshold()
+    {
+        return threshold;
+    }
+
+    public void setThreshold( int threshold )
+    {
+        this.threshold = threshold;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void debug( String message )
+    {
+        debug( message, null );
+    }
+
+    public boolean isDebugEnabled()
+    {
+        return threshold <= LEVEL_DEBUG;
+    }
+
+    public void info( String message )
+    {
+        info( message, null );
+    }
+
+    public boolean isInfoEnabled()
+    {
+        return threshold <= LEVEL_INFO;
+    }
+
+    public void warn( String message )
+    {
+        warn( message, null );
+    }
+
+    public boolean isWarnEnabled()
+    {
+        return threshold <= LEVEL_WARN;
+    }
+
+    public void error( String message )
+    {
+        error( message, null );
+    }
+
+    public boolean isErrorEnabled()
+    {
+        return threshold <= LEVEL_ERROR;
+    }
+
+    public void fatalError( String message )
+    {
+        fatalError( message, null );
+    }
+
+    public boolean isFatalErrorEnabled()
+    {
+        return threshold <= LEVEL_FATAL;
+    }
+
+    protected boolean isValidThreshold( int threshold )
+    {
+        if ( threshold == LEVEL_DEBUG )
+        {
+            return true;
+        }
+        if ( threshold == LEVEL_INFO )
+        {
+            return true;
+        }
+        if ( threshold == LEVEL_WARN )
+        {
+            return true;
+        }
+        if ( threshold == LEVEL_ERROR )
+        {
+            return true;
+        }
+        if ( threshold == LEVEL_FATAL )
+        {
+            return true;
+        }
+        if ( threshold == LEVEL_DISABLED )
+        {
+            return true;
+        }
+
+        return false;
+    }
+}

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=292888&r1=292887&r2=292888&view=diff
==============================================================================
--- 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 Fri Sep 30 18:17:36 2005
@@ -44,6 +44,8 @@
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.execution.MavenExecutionResponse;
 import org.apache.maven.monitor.event.EventDispatcher;
+import org.apache.maven.monitor.event.DefaultEventDispatcher;
+import org.apache.maven.monitor.event.EventMonitor;
 import org.codehaus.classworlds.ClassWorld;
 import org.codehaus.classworlds.DuplicateRealmException;
 import org.codehaus.plexus.PlexusContainerException;
@@ -106,6 +108,8 @@
 
     private PluginDescriptorBuilder pluginDescriptorBuilder;
 
+    private EventDispatcher eventDispatcher;
+
     // ----------------------------------------------------------------------
     // Configuration
     // ----------------------------------------------------------------------
@@ -118,6 +122,8 @@
 
     private ClassLoader classLoader;
 
+    private MavenEmbedderLogger logger;
+
     // ----------------------------------------------------------------------
     // User options
     // ----------------------------------------------------------------------
@@ -235,6 +241,16 @@
         return localRepositoryDirectory;
     }
 
+    public MavenEmbedderLogger getLogger()
+    {
+        return logger;
+    }
+
+    public void setLogger( MavenEmbedderLogger logger )
+    {
+        this.logger = logger;
+    }
+
     // ----------------------------------------------------------------------
     // Embedder Client Contract
     // ----------------------------------------------------------------------
@@ -354,23 +370,25 @@
 
     public void execute( MavenProject project,
                          List goals,
-                         EventDispatcher eventDispatcher,
+                         EventMonitor eventMonitor,
                          TransferListener transferListener,
                          File executionRootDirectory )
         throws CycleDetectedException, LifecycleExecutionException, MojoExecutionException
     {
-        execute( Collections.singletonList( project ), goals, eventDispatcher, transferListener, executionRootDirectory );
+        execute( Collections.singletonList( project ), goals, eventMonitor, transferListener, executionRootDirectory );
     }
 
     public void execute( List projects,
                          List goals,
-                         EventDispatcher eventDispatcher,
+                         EventMonitor eventMonitor,
                          TransferListener transferListener,
                          File executionRootDirectory )
         throws CycleDetectedException, LifecycleExecutionException, MojoExecutionException
     {
         ReactorManager rm = new ReactorManager( projects );
 
+        eventDispatcher.addEventMonitor( eventMonitor );
+
         rm.setFailureBehavior( ReactorManager.FAIL_AT_END );
 
         MavenSession session = new MavenSession( embedder.getContainer(),
@@ -531,6 +549,13 @@
 
         embedder = new Embedder();
 
+        if ( logger != null )
+        {
+            System.out.println( "logger = " + logger );
+
+            embedder.setLoggerManager( new MavenEmbedderLoggerManager( new PlexusLoggerAdapter( logger ) ) );
+        }
+
         try
         {
             ClassWorld classWorld = new ClassWorld();
@@ -549,6 +574,8 @@
             modelWriter = new MavenXpp3Writer();
 
             pluginDescriptorBuilder = new PluginDescriptorBuilder();
+
+            eventDispatcher = new DefaultEventDispatcher();
 
             profileManager = new DefaultProfileManager( embedder.getContainer() );
 

Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java?rev=292888&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java Fri Sep 30 18:17:36 2005
@@ -0,0 +1,97 @@
+package org.apache.maven.embedder;/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Logger sending everything to the standard output streams.
+ * This is mainly for the cases when you have a utility that
+ * does not have a logger to supply.
+ *
+ * @author <a href="mailto:dev@avalon.codehaus.org">Avalon Development Team</a>
+ * @version $Id$
+ */
+public final class MavenEmbedderConsoleLogger
+    extends AbstractMavenEmbedderLogger
+{
+    public void debug( String message, Throwable throwable )
+    {
+        if ( isDebugEnabled() )
+        {
+            System.out.print( "[ maven embedder DEBUG] " );
+            System.out.println( message );
+
+            if ( null != throwable )
+            {
+                throwable.printStackTrace( System.out );
+            }
+        }
+    }
+
+    public void info( String message, Throwable throwable )
+    {
+        if ( isInfoEnabled() )
+        {
+            System.out.print( "[ maven embedder INFO] " );
+            System.out.println( message );
+
+            if ( null != throwable )
+            {
+                throwable.printStackTrace( System.out );
+            }
+        }
+    }
+
+    public void warn( String message, Throwable throwable )
+    {
+        if ( isWarnEnabled() )
+        {
+            System.out.print( "[ maven embedder WARNING] " );
+            System.out.println( message );
+
+            if ( null != throwable )
+            {
+                throwable.printStackTrace( System.out );
+            }
+        }
+    }
+
+    public void error( String message, Throwable throwable )
+    {
+        if ( isErrorEnabled() )
+        {
+            System.out.print( "[ maven embedder ERROR] " );
+            System.out.println( message );
+
+            if ( null != throwable )
+            {
+                throwable.printStackTrace( System.out );
+            }
+        }
+    }
+
+    public void fatalError( String message, Throwable throwable )
+    {
+        if ( isFatalErrorEnabled() )
+        {
+            System.out.print( "[ maven embedder FATAL ERROR] " );
+            System.out.println( message );
+
+            if ( null != throwable )
+            {
+                throwable.printStackTrace( System.out );
+            }
+        }
+    }
+}

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java?rev=292888&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java Fri Sep 30 18:17:36 2005
@@ -0,0 +1,70 @@
+package org.apache.maven.embedder;
+
+/*
+* Copyright 2001-2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/**
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @version $Id:$
+ */
+public interface MavenEmbedderLogger
+{
+    int LEVEL_DEBUG = 0;
+
+    int LEVEL_INFO = 1;
+
+    int LEVEL_WARN = 2;
+
+    int LEVEL_ERROR = 3;
+
+    int LEVEL_FATAL = 4;
+
+    int LEVEL_DISABLED = 5;
+
+    void debug( String message );
+
+    void debug( String message, Throwable throwable );
+
+    boolean isDebugEnabled();
+
+    void info( String message );
+
+    void info( String message, Throwable throwable );
+
+    boolean isInfoEnabled();
+
+    void warn( String message );
+
+    void warn( String message, Throwable throwable );
+
+    boolean isWarnEnabled();
+
+    void error( String message );
+
+    void error( String message, Throwable throwable );
+
+    boolean isErrorEnabled();
+
+    void fatalError( String message );
+
+    void fatalError( String message, Throwable throwable );
+
+    boolean isFatalErrorEnabled();
+
+    void setThreshold( int threshold );
+
+    int getThreshold();
+}

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java?rev=292888&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java Fri Sep 30 18:17:36 2005
@@ -0,0 +1,148 @@
+package org.apache.maven.embedder;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.codehaus.plexus.logging.AbstractLoggerManager;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.LoggerManager;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+
+/**
+ * This is a simple logger manager that will only write the logging statements to the console.
+ * <p/>
+ * Sample configuration:
+ * <pre>
+ * <logging>
+ *   <implementation>org.codehaus.plexus.logging.ConsoleLoggerManager</implementation>
+ *   <logger>
+ *     <threshold>DEBUG</threshold>
+ *   </logger>
+ * </logging>
+ * </pre>
+ *
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @version $Id$
+ */
+public class MavenEmbedderLoggerManager
+    extends AbstractLoggerManager
+    implements LoggerManager, Initializable
+{
+    /**
+     * Message of this level or higher will be logged.
+     * <p/>
+     * This field is set by the plexus container thus the name is 'threshold'. The field
+     * currentThreshold contains the current setting of the threshold.
+     */
+    private String threshold = "info";
+
+    private int currentThreshold;
+
+    private Logger logger;
+
+    public MavenEmbedderLoggerManager( Logger logger )
+    {
+        this.logger = logger;
+    }
+
+    public void initialize()
+    {
+        debug( "Initializing ConsoleLoggerManager: " + this.hashCode() + "." );
+
+        currentThreshold = parseThreshold( threshold );
+
+        if ( currentThreshold == -1 )
+        {
+            debug( "Could not parse the threshold level: '" + threshold + "', setting to debug." );
+            currentThreshold = Logger.LEVEL_DEBUG;
+        }
+    }
+
+    public void setThreshold( int currentThreshold )
+    {
+        this.currentThreshold = currentThreshold;
+    }
+
+    /**
+     * @return Returns the threshold.
+     */
+    public int getThreshold()
+    {
+        return currentThreshold;
+    }
+
+    public void setThreshold( String role, String roleHint, int threshold )
+    {
+    }
+
+    public int getThreshold( String role, String roleHint )
+    {
+        return currentThreshold;
+    }
+
+    public Logger getLoggerForComponent( String role, String roleHint )
+    {
+        return logger;
+    }
+
+    public void returnComponentLogger( String role, String roleHint )
+    {
+    }
+
+    public int getActiveLoggerCount()
+    {
+        return 1;
+    }
+
+    private int parseThreshold( String text )
+    {
+        text = text.trim().toLowerCase();
+
+        if ( text.equals( "debug" ) )
+        {
+            return ConsoleLogger.LEVEL_DEBUG;
+        }
+        else if ( text.equals( "info" ) )
+        {
+            return ConsoleLogger.LEVEL_INFO;
+        }
+        else if ( text.equals( "warn" ) )
+        {
+            return ConsoleLogger.LEVEL_WARN;
+        }
+        else if ( text.equals( "error" ) )
+        {
+            return ConsoleLogger.LEVEL_ERROR;
+        }
+        else if ( text.equals( "fatal" ) )
+        {
+            return ConsoleLogger.LEVEL_FATAL;
+        }
+
+        return -1;
+    }
+
+    /**
+     * Remove this method and all references when this code is verified.
+     *
+     * @param msg
+     */
+    private void debug( String msg )
+    {
+    }
+}

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java?rev=292888&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java (added)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java Fri Sep 30 18:17:36 2005
@@ -0,0 +1,127 @@
+package org.apache.maven.embedder;
+
+import org.codehaus.plexus.logging.Logger;/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @version $Id:$
+ */
+public class PlexusLoggerAdapter
+    implements Logger
+{
+    private MavenEmbedderLogger logger;
+
+    public PlexusLoggerAdapter( MavenEmbedderLogger logger )
+    {
+        this.logger = logger;
+    }
+
+    public void debug( String message )
+    {
+        logger.debug( message );
+    }
+
+    public void debug( String message, Throwable throwable )
+    {
+        logger.debug( message, throwable );
+    }
+
+    public boolean isDebugEnabled()
+    {
+        return logger.isDebugEnabled();
+    }
+
+    public void info( String message )
+    {
+        logger.info( message );
+    }
+
+    public void info( String message, Throwable throwable )
+    {
+        logger.info( message, throwable );
+    }
+
+    public boolean isInfoEnabled()
+    {
+        return logger.isInfoEnabled();
+    }
+
+    public void warn( String message )
+    {
+        logger.warn( message );
+    }
+
+    public void warn( String message, Throwable throwable )
+    {
+        logger.warn( message, throwable );
+    }
+
+    public boolean isWarnEnabled()
+    {
+        return logger.isWarnEnabled();
+    }
+
+    public void error( String message )
+    {
+        logger.error( message );
+    }
+
+    public void error( String message, Throwable throwable )
+    {
+        logger.error( message );
+    }
+
+    public boolean isErrorEnabled()
+    {
+        return logger.isErrorEnabled();
+    }
+
+    public void fatalError( String message )
+    {
+        logger.fatalError( message );
+    }
+
+    public void fatalError( String message, Throwable throwable )
+    {
+        logger.fatalError( message, throwable );
+    }
+
+    public boolean isFatalErrorEnabled()
+    {
+        return logger.isFatalErrorEnabled();
+    }
+
+    public void setThreshold( int i )
+    {
+        logger.setThreshold( i );
+    }
+
+    public int getThreshold()
+    {
+        return logger.getThreshold();
+    }
+
+    public String getName()
+    {
+        return toString();
+    }
+
+    public Logger getChildLogger( String name )
+    {
+        return this;
+    }
+}

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java?rev=292888&r1=292887&r2=292888&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java Fri Sep 30 18:17:36 2005
@@ -1,19 +1,21 @@
 package org.apache.maven.embedder;
 
 import junit.framework.TestCase;
-import org.apache.maven.model.Model;
-import org.apache.maven.project.MavenProject;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.monitor.event.EventDispatcher;
-import org.apache.maven.monitor.event.DefaultEventDispatcher;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.cli.ConsoleDownloadMonitor;
+import org.apache.maven.model.Model;
+import org.apache.maven.monitor.event.DefaultEventMonitor;
+import org.apache.maven.monitor.event.EventMonitor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.codehaus.plexus.util.FileUtils;
 
 import java.io.File;
-import java.util.Set;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 public class MavenEmbedderTest
     extends TestCase
@@ -35,6 +37,8 @@
 
         maven.setClassLoader( classLoader );
 
+        maven.setLogger( new MavenEmbedderConsoleLogger() );
+
         maven.start();
     }
 
@@ -69,9 +73,9 @@
 
         MavenProject pom = maven.readProjectWithDependencies( pomFile );
 
-        EventDispatcher eventDispatcher = new DefaultEventDispatcher();
+        EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
 
-        maven.execute( pom, Collections.singletonList( "package" ), eventDispatcher, new ConsoleDownloadMonitor(), targetDirectory );
+        maven.execute( pom, Collections.singletonList( "package" ), eventMonitor, new ConsoleDownloadMonitor(), targetDirectory );
 
         File jar = new File( targetDirectory, "target/embedder-test-project-1.0-SNAPSHOT.jar" );
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org