You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ev...@apache.org on 2007/06/01 16:12:29 UTC
svn commit: r543493 - in
/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter:
./ plugins/ relocators/
Author: evenisse
Date: Fri Jun 1 07:12:28 2007
New Revision: 543493
URL: http://svn.apache.org/viewvc?view=rev&rev=543493
Log:
Add more listeners
Modified:
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/ConverterListener.java
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/Maven1Converter.java
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/AbstractPluginConfigurationConverter.java
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PCCMultiproject.java
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PluginConfigurationConverter.java
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/relocators/AbstractPluginRelocator.java
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/ConverterListener.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/ConverterListener.java?view=diff&rev=543493&r1=543492&r2=543493
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/ConverterListener.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/ConverterListener.java Fri Jun 1 07:12:28 2007
@@ -19,6 +19,8 @@
* under the License.
*/
+import java.io.File;
+
public interface ConverterListener
{
void debug( String message );
@@ -33,7 +35,23 @@
void warn( String message, Throwable throwable );
- void error( String message);
+ void error( String message );
void error( String message, Throwable throwable );
+
+ void addDependencyEvent( String groupId, String artifactId, String version );
+
+ void addPluginEvent( String groupId, String artifactId );
+
+ void relocatePluginEvent( String oldGroupId, String oldArtifactId, String newGroupId, String newArtifactId );
+
+ void removePluginEvent( String groupId, String artifactId );
+
+ void addReportEvent( String groupId, String artifactId );
+
+ void relocateReportEvent( String oldGroupId, String oldArtifactId, String newGroupId, String newArtifactId );
+
+ void removeReportEvent( String groupId, String artifactId );
+
+ void savePomEvent( File pomFileFile, boolean alreadyExist );
}
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/Maven1Converter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/Maven1Converter.java?view=diff&rev=543493&r1=543492&r2=543493
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/Maven1Converter.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/Maven1Converter.java Fri Jun 1 07:12:28 2007
@@ -41,7 +41,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
-import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -97,7 +96,8 @@
}
catch ( Exception e )
{
- throw new ProjectConverterException( "Exception caught while loading " + fileName + ". " + e.getMessage(), e );
+ throw new ProjectConverterException( "Exception caught while loading " + fileName + ". " + e.getMessage(),
+ e );
}
Model v4Model;
@@ -108,8 +108,8 @@
}
catch ( Exception e )
{
- throw new ProjectConverterException( "Exception caught while converting " + fileName + ". " + e.getMessage(),
- e );
+ throw new ProjectConverterException(
+ "Exception caught while converting " + fileName + ". " + e.getMessage(), e );
}
Properties properties = new Properties();
@@ -125,6 +125,7 @@
for ( Iterator i = converters.iterator(); i.hasNext(); )
{
PluginConfigurationConverter converter = (PluginConfigurationConverter) i.next();
+ converter.addListeners( listeners );
converter.convertConfiguration( v4Model, v3Model, properties );
}
@@ -136,6 +137,7 @@
while ( iterator.hasNext() )
{
pluginRelocator = (PluginRelocator) iterator.next();
+ pluginRelocator.addListeners( listeners );
pluginRelocator.relocate( v4Model );
}
@@ -283,10 +285,12 @@
}
File pomxml = new File( outputdir, "pom.xml" );
+ boolean alreadyExist = false;
if ( pomxml.exists() )
{
sendWarnMessage( "pom.xml in " + outputdir.getAbsolutePath() + " already exists, overwriting" );
+ alreadyExist = true;
}
MavenXpp3Writer v4Writer = new MavenXpp3Writer();
@@ -300,6 +304,7 @@
output = new FileWriter( pomxml );
v4Writer.write( output, v4Model );
output.close();
+ fireSavePomEvent( pomxml, alreadyExist );
}
catch ( IOException e )
{
@@ -361,7 +366,7 @@
private void sendInfoMessage( String message )
{
getLogger().info( message );
-
+
for ( Iterator i = listeners.iterator(); i.hasNext(); )
{
ConverterListener listener = (ConverterListener) i.next();
@@ -372,11 +377,20 @@
private void sendWarnMessage( String message )
{
getLogger().warn( message );
-
+
for ( Iterator i = listeners.iterator(); i.hasNext(); )
{
ConverterListener listener = (ConverterListener) i.next();
listener.warn( message );
+ }
+ }
+
+ private void fireSavePomEvent( File pomFile, boolean alreadyExist )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.savePomEvent( pomFile, alreadyExist );
}
}
}
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/AbstractPluginConfigurationConverter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/AbstractPluginConfigurationConverter.java?view=diff&rev=543493&r1=543492&r2=543493
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/AbstractPluginConfigurationConverter.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/AbstractPluginConfigurationConverter.java Fri Jun 1 07:12:28 2007
@@ -24,10 +24,15 @@
import org.apache.maven.model.Plugin;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.Reporting;
+import org.apache.maven.model.converter.ConverterListener;
import org.apache.maven.model.converter.ModelUtils;
import org.apache.maven.model.converter.ProjectConverterException;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.xml.Xpp3Dom;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
/**
@@ -35,11 +40,16 @@
* @author Dennis Lundberg
* @version $Id$
*/
-public abstract class AbstractPluginConfigurationConverter implements PluginConfigurationConverter
+public abstract class AbstractPluginConfigurationConverter
+ extends AbstractLogEnabled
+ implements PluginConfigurationConverter
{
public static final String TYPE_BUILD_PLUGIN = "build plugin";
+
public static final String TYPE_REPORT_PLUGIN = "report plugin";
+ private List listeners = new ArrayList();
+
public abstract String getArtifactId();
public String getGroupId()
@@ -49,6 +59,23 @@
public abstract String getType();
+ public void addListeners( List listeners )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ addListener( listener );
+ }
+ }
+
+ public void addListener( ConverterListener listener )
+ {
+ if ( !listeners.contains( listener ) )
+ {
+ listeners.add( listener );
+ }
+ }
+
/**
* Add a child element to the configuration.
*
@@ -113,6 +140,8 @@
v4Model.setBuild( new Build() );
}
v4Model.getBuild().addPlugin( plugin );
+ sendInfoMessage( "Adding plugin " + plugin.getGroupId() + ":" + plugin.getArtifactId() );
+ fireAddPluginEvent( plugin );
}
}
else if ( TYPE_REPORT_PLUGIN.equals( getType() ) )
@@ -135,6 +164,8 @@
v4Model.setReporting( new Reporting() );
}
v4Model.getReporting().addPlugin( plugin );
+ sendInfoMessage( "Adding report " + plugin.getGroupId() + ":" + plugin.getArtifactId() );
+ fireAddReportEvent( plugin );
}
}
}
@@ -143,4 +174,33 @@
protected abstract void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model,
Properties projectProperties )
throws ProjectConverterException;
+
+ private void sendInfoMessage( String message )
+ {
+ getLogger().info( message );
+
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.info( message );
+ }
+ }
+
+ private void fireAddPluginEvent( Plugin plugin )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.addPluginEvent( plugin.getGroupId(), plugin.getArtifactId() );
+ }
+ }
+
+ private void fireAddReportEvent( ReportPlugin plugin )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.addReportEvent( plugin.getGroupId(), plugin.getArtifactId() );
+ }
+ }
}
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PCCMultiproject.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PCCMultiproject.java?view=diff&rev=543493&r1=543492&r2=543493
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PCCMultiproject.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PCCMultiproject.java Fri Jun 1 07:12:28 2007
@@ -20,22 +20,43 @@
*/
import org.apache.maven.model.Model;
+import org.apache.maven.model.converter.ConverterListener;
import org.apache.maven.model.converter.ProjectConverterException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
/**
- * @plexus.component role="org.apache.maven.model.converter.plugins.PluginConfigurationConverter" role-hint="multiproject"
- *
* @author Fabrizio Giustina
* @version $Id$
+ * @plexus.component role="org.apache.maven.model.converter.plugins.PluginConfigurationConverter" role-hint="multiproject"
*/
public class PCCMultiproject
implements PluginConfigurationConverter
{
+ private List listeners = new ArrayList();
+
+ public void addListeners( List listeners )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ addListener( listener );
+ }
+ }
+
+ public void addListener( ConverterListener listener )
+ {
+ if ( !listeners.contains( listener ) )
+ {
+ listeners.add( listener );
+ }
+ }
/**
- * @see org.apache.maven.model.converter.plugins.PluginConfigurationConverter#convertConfiguration(org.apache.maven.model.Model, org.apache.maven.model.v3_0_0.Model, java.util.Properties)
+ * @see org.apache.maven.model.converter.plugins.PluginConfigurationConverter#convertConfiguration(org.apache.maven.model.Model,org.apache.maven.model.v3_0_0.Model,java.util.Properties)
*/
public void convertConfiguration( Model v4Model, org.apache.maven.model.v3_0_0.Model v3Model,
Properties projectProperties )
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PluginConfigurationConverter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PluginConfigurationConverter.java?view=diff&rev=543493&r1=543492&r2=543493
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PluginConfigurationConverter.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/plugins/PluginConfigurationConverter.java Fri Jun 1 07:12:28 2007
@@ -19,18 +19,36 @@
* under the License.
*/
-import java.util.Properties;
-
import org.apache.maven.model.Model;
+import org.apache.maven.model.converter.ConverterListener;
import org.apache.maven.model.converter.ProjectConverterException;
+import java.util.List;
+import java.util.Properties;
+
/**
* A plugin configuration converter reads properties from a v3 pom or project.properties and add them to the v4 pom.
+ *
* @author Fabrizio Giustina
* @version $Id$
*/
public interface PluginConfigurationConverter
{
- void convertConfiguration( Model v4Model, org.apache.maven.model.v3_0_0.Model v3Model, Properties projectProperties )
+ void convertConfiguration( Model v4Model, org.apache.maven.model.v3_0_0.Model v3Model,
+ Properties projectProperties )
throws ProjectConverterException;
+
+ /**
+ * Add a listeners list for all messages sended by the relocator.
+ *
+ * @param listeners The listeners list that will receive messages
+ */
+ void addListeners( List listeners );
+
+ /**
+ * Add a listener for all messages sended by the relocator.
+ *
+ * @param listener The listener that will receive messages
+ */
+ void addListener( ConverterListener listener );
}
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/relocators/AbstractPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/relocators/AbstractPluginRelocator.java?view=diff&rev=543493&r1=543492&r2=543493
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/relocators/AbstractPluginRelocator.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/relocators/AbstractPluginRelocator.java Fri Jun 1 07:12:28 2007
@@ -66,7 +66,7 @@
* model, after the model has been converted.
*
* @return The artifactId of the Maven 1 plugin.
- * @see org.apache.maven.model.converter.PomV3ToV4Translator#translateDependencies( java.util.List )
+ * @see org.apache.maven.model.converter.PomV3ToV4Translator#translateDependencies(java.util.List)
*/
public abstract String getOldArtifactId();
@@ -79,7 +79,7 @@
* </p>
*
* @return The groupId of the Maven 1 plugin.
- * @see org.apache.maven.model.converter.PomV3ToV4Translator#translateDependencies( java.util.List )
+ * @see org.apache.maven.model.converter.PomV3ToV4Translator#translateDependencies(java.util.List)
*/
public String getOldGroupId()
{
@@ -100,6 +100,7 @@
// Remove the old plugin
v4Model.getBuild().getPlugins().remove( oldBuildPlugin );
sendInfoMessage( "Removing build plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+ fireRemovePluginEvent( getOldGroupId(), getOldArtifactId() );
}
else
{
@@ -110,6 +111,7 @@
oldBuildPlugin.setArtifactId( getNewArtifactId() );
oldBuildPlugin.setGroupId( getNewGroupId() );
sendInfoMessage( "Relocating build plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+ fireRelocatePluginEvent( getOldGroupId(), getOldArtifactId(), getNewGroupId(), getNewArtifactId() );
}
else
{
@@ -117,6 +119,7 @@
v4Model.getBuild().getPlugins().remove( oldBuildPlugin );
sendInfoMessage( "Removing old build plugin " + getOldGroupId() + ":" + getOldArtifactId() +
" because the new one already exist" );
+ fireRemovePluginEvent( getOldGroupId(), getOldArtifactId() );
}
}
}
@@ -130,6 +133,7 @@
// Remove the old plugin
v4Model.getReporting().getPlugins().remove( oldReportPlugin );
sendInfoMessage( "Removing report plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+ fireRemovePluginEvent( getOldGroupId(), getOldArtifactId() );
}
else
{
@@ -140,6 +144,7 @@
oldReportPlugin.setArtifactId( getNewArtifactId() );
oldReportPlugin.setGroupId( getNewGroupId() );
sendInfoMessage( "Relocating report plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+ fireRelocateReportEvent( getOldGroupId(), getOldArtifactId(), getNewGroupId(), getNewArtifactId() );
}
else
{
@@ -147,6 +152,7 @@
v4Model.getReporting().getPlugins().remove( oldReportPlugin );
sendInfoMessage( "Removing old report plugin " + getOldGroupId() + ":" + getOldArtifactId() +
" because the new one already exist" );
+ fireRemovePluginEvent( getOldGroupId(), getOldArtifactId() );
}
}
}
@@ -172,11 +178,49 @@
private void sendInfoMessage( String message )
{
getLogger().info( message );
-
+
for ( Iterator i = listeners.iterator(); i.hasNext(); )
{
ConverterListener listener = (ConverterListener) i.next();
listener.info( message );
+ }
+ }
+
+ private void fireRelocatePluginEvent( String oldGroupId, String oldArtifactId, String newGroupId,
+ String newArtifactId )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.relocatePluginEvent( oldGroupId, oldArtifactId, newGroupId, newArtifactId );
+ }
+ }
+
+ private void fireRelocateReportEvent( String oldGroupId, String oldArtifactId, String newGroupId,
+ String newArtifactId )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.relocateReportEvent( oldGroupId, oldArtifactId, newGroupId, newArtifactId );
+ }
+ }
+
+ private void fireRemovePluginEvent( String groupId, String artifactId )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.removePluginEvent( groupId, artifactId );
+ }
+ }
+
+ private void fireRemoveReportEvent( String groupId, String artifactId )
+ {
+ for ( Iterator i = listeners.iterator(); i.hasNext(); )
+ {
+ ConverterListener listener = (ConverterListener) i.next();
+ listener.removeReportEvent( groupId, artifactId );
}
}
}