You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/05/25 17:12:59 UTC
svn commit: r541687 - in /maven/sandbox/trunk/shared/maven-antcall: ./ src/
src/main/ src/main/java/ src/main/java/org/ src/main/java/org/codehaus/
src/main/java/org/codehaus/mojo/ src/main/java/org/codehaus/mojo/tools/
src/main/java/org/codehaus/mojo/...
Author: jdcasey
Date: Fri May 25 08:12:57 2007
New Revision: 541687
URL: http://svn.apache.org/viewvc?view=rev&rev=541687
Log:
Resurrecting part of c-builds as a shared module, so we can (later) consolidate it with maven-ant in shared/
Added:
maven/sandbox/trunk/shared/maven-antcall/
maven/sandbox/trunk/shared/maven-antcall/pom.xml (with props)
maven/sandbox/trunk/shared/maven-antcall/src/
maven/sandbox/trunk/shared/maven-antcall/src/main/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java (with props)
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java (with props)
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java (with props)
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java (with props)
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java (with props)
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java (with props)
maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java (with props)
Added: maven/sandbox/trunk/shared/maven-antcall/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/pom.xml?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/pom.xml (added)
+++ maven/sandbox/trunk/shared/maven-antcall/pom.xml Fri May 25 08:12:57 2007
@@ -0,0 +1,42 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-antcall</artifactId>
+ <version>1.0-alpha-4-SNAPSHOT</version>
+ <name>Ant Caller</name>
+ <description>Runs ant tasks using API calls</description>
+ <developers>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.6.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9-stable-1</version>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/sandbox/trunk/shared/maven-antcall/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java Fri May 25 08:12:57 2007
@@ -0,0 +1,60 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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 java.util.Arrays;
+import java.util.List;
+
+/**
+ * Interface for logging within maven-antcall. CharSequence's are used to avoid the need
+ * to convert StringBuffers to Strings.
+ */
+public interface AntCallLogger
+{
+
+ static final String MESSAGE_LEVEL_VERBOSE = "verbose";
+ static final String MESSAGE_LEVEL_DEBUG = "debug";
+ static final String MESSAGE_LEVEL_INFO = "info";
+ static final String MESSAGE_LEVEL_WARN = "warn";
+ static final String MESSAGE_LEVEL_ERROR = "error";
+ static final String MESSAGE_LEVEL_SUPPRESS = "suppress";
+
+ static final List MESSAGE_LEVELS = Arrays.asList( new String[]{
+ MESSAGE_LEVEL_VERBOSE,
+ MESSAGE_LEVEL_DEBUG,
+ MESSAGE_LEVEL_INFO,
+ MESSAGE_LEVEL_WARN,
+ MESSAGE_LEVEL_ERROR,
+ MESSAGE_LEVEL_SUPPRESS
+ } );
+
+ void debug( CharSequence message );
+
+ void debug( CharSequence message, Throwable error );
+
+ void info( CharSequence message );
+
+ void info( CharSequence message, Throwable error );
+
+ void warn( CharSequence message );
+
+ void warn( CharSequence message, Throwable error );
+
+ void error( CharSequence message );
+
+ void error( CharSequence message, Throwable error );
+
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCallLogger.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java Fri May 25 08:12:57 2007
@@ -0,0 +1,234 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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 java.io.File;
+import java.io.PrintStream;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.tools.ant.DefaultLogger;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.PropertyHelper;
+import org.apache.tools.ant.Target;
+import org.apache.tools.ant.Task;
+
+/**
+ * Convenience api used to call Ant APIs directly from Java code.
+ *
+ * @author <a href="mailto:jdcasey@apache.org">John Casey</a>
+ * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
+ */
+public class AntCaller
+{
+ private Project antProject;
+
+ private Target tasks;
+
+ private DefaultLogger antLogger;
+
+ private final AntCallLogger logger;
+
+ private String messageLevel = AntCallLogger.MESSAGE_LEVEL_INFO;
+
+ private PrintStream outStream = System.out;
+
+ private PrintStream errStream = System.err;
+
+ // private InputStream inStream = System.in;
+
+ public AntCaller( AntCallLogger logger )
+ {
+ this.logger = logger;
+ }
+
+ public boolean hasTasks()
+ {
+ if ( tasks == null )
+ {
+ return false;
+ }
+
+ Task[] taskArray = tasks.getTasks();
+
+ return taskArray != null && taskArray.length > 0;
+ }
+
+ public void addTask( Task task )
+ {
+ checkOrCreateProjectAndTarget();
+
+ task.setProject( antProject );
+ tasks.addTask( task );
+ }
+
+ public void setProjectBasedir( File basedir )
+ {
+ checkOrCreateProjectAndTarget();
+
+ antProject.setBaseDir( basedir );
+ }
+
+ private void checkOrCreateProjectAndTarget()
+ {
+ if ( antProject == null )
+ {
+ antProject = new Project();
+ }
+
+ if ( tasks == null )
+ {
+ tasks = new Target();
+ tasks.setProject( antProject );
+ }
+ }
+
+ public void setMessageLevel( String messageLevel )
+ {
+ this.messageLevel = messageLevel;
+ }
+
+ public String getProjectProperty( String property )
+ {
+ return antProject.getProperty( property );
+ }
+
+ public void setOutputStream( PrintStream printStream )
+ {
+ this.outStream = printStream;
+ }
+
+ public PrintStream getOutputStream()
+ {
+ return this.outStream;
+ }
+
+ public void setErrorStream( PrintStream printStream )
+ {
+ this.errStream = printStream;
+ }
+
+ public PrintStream getErrorStream()
+ {
+ return this.errStream;
+ }
+
+ // public void setInputStream( InputStream inStream )
+ // {
+ // this.inStream = inStream;
+ // }
+ //
+ // public InputStream getInputStream()
+ // {
+ // return this.inStream;
+ // }
+
+ private void initializeLogger()
+ {
+ int idx = AntCallLogger.MESSAGE_LEVELS.indexOf( messageLevel );
+
+ if ( idx < 0 )
+ {
+ throw new IllegalArgumentException( "Invalid message level: \'" + messageLevel + "\'" );
+ }
+ else
+ {
+ if ( antLogger == null )
+ {
+ antLogger = new DefaultLogger();
+ antLogger.setOutputPrintStream( outStream );
+ antLogger.setErrorPrintStream( errStream );
+ }
+
+ switch ( idx )
+ {
+ case ( 0 ):
+ {
+ antLogger.setMessageOutputLevel( Project.MSG_VERBOSE );
+ break;
+ }
+ case ( 1 ):
+ {
+ antLogger.setMessageOutputLevel( Project.MSG_DEBUG );
+ break;
+ }
+ case ( 3 ):
+ {
+ antLogger.setMessageOutputLevel( Project.MSG_WARN );
+ break;
+ }
+ case ( 4 ):
+ {
+ antLogger.setMessageOutputLevel( Project.MSG_ERR );
+ break;
+ }
+ case ( 5 ):
+ {
+ antLogger.setMessageOutputLevel( -1 );
+ break;
+ }
+ default:
+ {
+ antLogger.setMessageOutputLevel( Project.MSG_INFO );
+ }
+ }
+ }
+ }
+
+ public void executeTasks( MavenProject mavenProject ) throws AntExecutionException
+ {
+ if ( !hasTasks() )
+ {
+ logger.warn( "No tasks defined. Skipping Ant-API execution." );
+ return;
+ }
+
+ try
+ {
+ PropertyHelper propertyHelper = PropertyHelper.getPropertyHelper( antProject );
+
+ propertyHelper.setNext( new AntPropertyHelper( mavenProject, logger ) );
+
+ initializeLogger();
+
+ antProject.addBuildListener( antLogger );
+
+ File basedir = mavenProject.getBasedir();
+ if ( basedir != null && basedir.exists() && basedir.isDirectory() )
+ {
+ antProject.setBaseDir( mavenProject.getBasedir() );
+ }
+
+ logger.debug( "Executing tasks: " );
+
+ Task[] taskArray = tasks.getTasks();
+ for ( int i = 0; i < taskArray.length; i++ )
+ {
+ if ( taskArray[i].getTaskName() != null )
+ logger.debug( taskArray[i].getTaskName() );
+ else
+ logger.debug( "Unknown Task" );
+ }
+
+ tasks.execute();
+
+ logger.debug( "Executed tasks" );
+ }
+ catch ( Exception e )
+ {
+ throw new AntExecutionException( "Error executing ant tasks", e );
+ }
+ }
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntCaller.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java Fri May 25 08:12:57 2007
@@ -0,0 +1,37 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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.
+ *
+ */
+
+/**
+ * Signals an error while executing Ant APIs from Java code.
+ */
+public class AntExecutionException
+ extends Exception
+{
+
+ static final long serialVersionUID = 1;
+
+ public AntExecutionException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+ public AntExecutionException( String message )
+ {
+ super( message );
+ }
+
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntExecutionException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java Fri May 25 08:12:57 2007
@@ -0,0 +1,70 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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.apache.maven.project.MavenProject;
+import org.apache.tools.ant.PropertyHelper;
+import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
+
+/**
+ * Makes the ${expressions} used in Maven available to Ant as properties.
+ *
+ * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
+ */
+public class AntPropertyHelper
+ extends PropertyHelper
+{
+ private final MavenProject mavenProject;
+ private final AntCallLogger logger;
+
+ public AntPropertyHelper( MavenProject project, AntCallLogger logger )
+ {
+ this.mavenProject = project;
+ this.logger = logger;
+ }
+
+ public synchronized Object getPropertyHook( String ns, String name, boolean user )
+ {
+ logger.debug( "getProperty(ns=" + ns + ", name=" + name + ", user=" + user + ")" );
+
+ try
+ {
+ if ( name.startsWith( "project." ) || name.equals( "basedir" ) )
+ {
+ Object val = ReflectionValueExtractor.evaluate( name.substring( "project.".length() ), mavenProject );
+
+ if ( val != null )
+ {
+ return val;
+ }
+ }
+ }
+ catch ( Exception e )
+ {
+ logger.info( "Error evaluating expression '" + name + "'", e );
+ e.printStackTrace();
+ }
+
+ Object val = super.getPropertyHook( ns, name, user );
+
+ if ( val == null )
+ {
+ val = System.getProperty( name.toString() );
+ }
+
+ return val;
+ }
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/AntPropertyHelper.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java Fri May 25 08:12:57 2007
@@ -0,0 +1,132 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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.apache.maven.plugin.logging.Log;
+
+/**
+ * Adapter class to make a mojo Log instance look like an antcall logger.
+ * This adapter is the only API dependency on maven-plugin-api, and therefore
+ * may belong somewhere else, in order to keep this APIs dependency set simple.
+ */
+public class FlatLevelMojoLogAdapter
+ implements AntCallLogger
+{
+
+ private final Log mojoLog;
+ private final String level;
+
+ public FlatLevelMojoLogAdapter( Log mojoLog, String level )
+ {
+ this.mojoLog = mojoLog;
+ this.level = level;
+ }
+
+ /**
+ * Never sink below the radar...only go as low as INFO.
+ */
+ public void debug( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ /**
+ * Never sink below the radar...only go as low as INFO.
+ */
+ public void debug( CharSequence message )
+ {
+ log( message );
+ }
+
+ public void error( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ public void error( CharSequence message )
+ {
+ log( message );
+ }
+
+ public void info( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ public void info( CharSequence message )
+ {
+ log( message );
+ }
+
+ public void warn( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ public void warn( CharSequence message )
+ {
+ log( message );
+ }
+
+ private void log( CharSequence message, Throwable error )
+ {
+ if ( MESSAGE_LEVEL_DEBUG.equalsIgnoreCase( level ) )
+ {
+ mojoLog.debug( message, error );
+ }
+ else if ( MESSAGE_LEVEL_ERROR.equalsIgnoreCase( level ) )
+ {
+ mojoLog.error( message, error );
+ }
+ else if ( MESSAGE_LEVEL_VERBOSE.equalsIgnoreCase( level ) )
+ {
+ mojoLog.debug( message, error );
+ }
+ else if ( MESSAGE_LEVEL_WARN.equalsIgnoreCase( level ) )
+ {
+ mojoLog.warn( message, error );
+ }
+ else if ( !MESSAGE_LEVEL_SUPPRESS.equalsIgnoreCase( level ) )
+ {
+ mojoLog.info( message, error );
+ }
+ }
+
+ private void log( CharSequence message )
+ {
+ if ( MESSAGE_LEVEL_DEBUG.equalsIgnoreCase( level ) )
+ {
+ mojoLog.debug( message );
+ }
+ else if ( MESSAGE_LEVEL_ERROR.equalsIgnoreCase( level ) )
+ {
+ mojoLog.error( message );
+ }
+ else if ( MESSAGE_LEVEL_VERBOSE.equalsIgnoreCase( level ) )
+ {
+ mojoLog.debug( message );
+ }
+ else if ( MESSAGE_LEVEL_WARN.equalsIgnoreCase( level ) )
+ {
+ mojoLog.warn( message );
+ }
+ else if ( !MESSAGE_LEVEL_SUPPRESS.equalsIgnoreCase( level ) )
+ {
+ mojoLog.info( message );
+ }
+ }
+
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/FlatLevelMojoLogAdapter.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java Fri May 25 08:12:57 2007
@@ -0,0 +1,97 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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.apache.maven.plugin.logging.Log;
+
+/**
+ * Adapter class to make a mojo Log instance look like an antcall logger.
+ * This adapter is the only API dependency on maven-plugin-api, and therefore
+ * may belong somewhere else, in order to keep this APIs dependency set simple.
+ */
+public class MojoLogAdapter
+ implements AntCallLogger
+{
+
+ private final Log mojoLog;
+
+ public MojoLogAdapter( Log mojoLog )
+ {
+ this.mojoLog = mojoLog;
+ }
+
+ /**
+ * Never sink below the radar...only go as low as INFO.
+ */
+ public void debug( CharSequence message, Throwable error )
+ {
+ mojoLog.info( message, error );
+ }
+
+ /**
+ * Never sink below the radar...only go as low as INFO.
+ */
+ public void debug( CharSequence message )
+ {
+ mojoLog.info( message );
+ }
+
+ public void error( CharSequence message, Throwable error )
+ {
+ mojoLog.error( message, error );
+ }
+
+ public void error( CharSequence message )
+ {
+ mojoLog.error( message );
+ }
+
+ public void info( CharSequence message, Throwable error )
+ {
+ mojoLog.info( message, error );
+ }
+
+ public void info( CharSequence message )
+ {
+ mojoLog.info( message );
+ }
+
+ public void warn( CharSequence message, Throwable error )
+ {
+ mojoLog.warn( message, error );
+ }
+
+ public void warn( CharSequence message )
+ {
+ mojoLog.warn( message );
+ }
+
+ public int hashCode()
+ {
+ return 11 + mojoLog.hashCode();
+ }
+
+ public boolean equals( Object other )
+ {
+ if ( other instanceof MojoLogAdapter )
+ {
+ return mojoLog.equals( ((MojoLogAdapter) other).mojoLog );
+ }
+
+ return false;
+ }
+
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/MojoLogAdapter.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java?view=auto&rev=541687
==============================================================================
--- maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java (added)
+++ maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java Fri May 25 08:12:57 2007
@@ -0,0 +1,92 @@
+package org.codehaus.mojo.tools.antcall;
+
+/*
+ * 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 java.io.PrintWriter;
+import java.io.StringWriter;
+
+/**
+ * Adapter class to make a mojo Log instance look like an antcall logger.
+ * This adapter is the only API dependency on maven-plugin-api, and therefore
+ * may belong somewhere else, in order to keep this APIs dependency set simple.
+ */
+public class SysoutLogAdapter
+ implements AntCallLogger
+{
+
+ /**
+ * Never sink below the radar...only go as low as INFO.
+ */
+ public void debug( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ /**
+ * Never sink below the radar...only go as low as INFO.
+ */
+ public void debug( CharSequence message )
+ {
+ log( message );
+ }
+
+ public void error( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ public void error( CharSequence message )
+ {
+ log( message );
+ }
+
+ public void info( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ public void info( CharSequence message )
+ {
+ log( message );
+ }
+
+ public void warn( CharSequence message, Throwable error )
+ {
+ log( message, error );
+ }
+
+ public void warn( CharSequence message )
+ {
+ log( message );
+ }
+
+ private void log( CharSequence message, Throwable error )
+ {
+ StringWriter writer = new StringWriter();
+ PrintWriter pWriter = new PrintWriter( writer );
+
+ pWriter.println( message );
+ error.printStackTrace( pWriter );
+
+ System.out.println( writer.toString() );
+ }
+
+ private void log( CharSequence message )
+ {
+ System.out.println( message );
+ }
+
+}
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-antcall/src/main/java/org/codehaus/mojo/tools/antcall/SysoutLogAdapter.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"