You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2006/06/27 23:16:38 UTC

svn commit: r417588 - in /maven/sandbox/plugins/maven-maven1-plugin: ./ src/main/java/org/apache/maven/maven1converter/ src/main/java/org/apache/maven/maven1converter/relocators/

Author: dennisl
Date: Tue Jun 27 14:16:37 2006
New Revision: 417588

URL: http://svn.apache.org/viewvc?rev=417588&view=rev
Log:
Add plugin relocators that handle plugins that has changed their groupId and/or artifactId between Maven 1 and Maven 2.
A plugin relocator is a plexus component. To add a new plugin relocator you just add a class that implements the PluginRelocator interface.

Added:
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractSourceForgePluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/CoberturaPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DefaultPluginRelocatorManager.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DeveloperActivityPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FaqPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FileActivityPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FindbugsPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdependPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdiffPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JunitReportPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/LicenseRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/NoSuchPluginRelocatorException.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocatorManager.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/SimianPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/TasklistPluginRelocator.java   (with props)
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/XdocPluginRelocator.java   (with props)
Modified:
    maven/sandbox/plugins/maven-maven1-plugin/pom.xml
    maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java

Modified: maven/sandbox/plugins/maven-maven1-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/pom.xml?rev=417588&r1=417587&r2=417588&view=diff
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/pom.xml (original)
+++ maven/sandbox/plugins/maven-maven1-plugin/pom.xml Tue Jun 27 14:16:37 2006
@@ -44,6 +44,18 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-maven-plugin</artifactId>
+        <version>1.2</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>descriptor</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
   <reporting>
@@ -78,7 +90,7 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
-      <scope>test</scope>
+      <version>1.0-alpha-9</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>

Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java?rev=417588&r1=417587&r2=417588&view=diff
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java (original)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java Tue Jun 27 14:16:37 2006
@@ -26,6 +26,8 @@
 import org.apache.maven.maven1converter.plugins.PCCSurefire;
 import org.apache.maven.maven1converter.plugins.PCCWar;
 import org.apache.maven.maven1converter.plugins.PluginConfigurationConverter;
+import org.apache.maven.maven1converter.relocators.PluginRelocator;
+import org.apache.maven.maven1converter.relocators.PluginRelocatorManager;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.converter.PomV3ToV4Translator;
 import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
@@ -45,16 +47,18 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Writer;
+import java.util.Collection;
+import java.util.Iterator;
 import java.util.Properties;
 
 /**
  * Converts a Maven 1 project.xml (v3 pom) to a Maven 2 pom.xml (v4 pom).
  *
- * @goal convert
- * @requiresProject false
  * @author Fabrizio Giustina
  * @author Dennis Lundberg
  * @version $Id$
+ * @goal convert
+ * @requiresProject false
  */
 public class PomV3ConvertMojo extends AbstractMojo
 {
@@ -82,6 +86,13 @@
         new PCCWar() };
 
     /**
+     * Plexus component that manages plugin relocators
+     *
+     * @component
+     */
+    private PluginRelocatorManager pluginRelocatorManager;
+
+    /**
      * @see org.apache.maven.plugin.Mojo#execute()
      */
     public void execute()
@@ -130,6 +141,17 @@
         for ( int j = 0; j < converters.length; j++ )
         {
             converters[j].convertConfiguration( v4Model, v3Model, properties );
+        }
+
+        // @todo Should this be run before or after the configuration converters?
+        Collection pluginRelocators = pluginRelocatorManager.getPluginRelocators();
+        getLog().info( "There are " + pluginRelocators.size() + " plugin relocators available" );
+        PluginRelocator pluginRelocator;
+        Iterator iterator = pluginRelocators.iterator();
+        while ( iterator.hasNext() )
+        {
+            pluginRelocator = (PluginRelocator) iterator.next();
+            pluginRelocator.relocate( v4Model );
         }
 
         writeV4Pom( v4Model );

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,144 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.apache.maven.maven1converter.ModelUtils;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+
+/**
+ * A general implementation of the <code>PluginRelocator</code> interface.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: PluginRelocator.java 409264 2006-05-24 23:13:13 +0000 (on, 24 maj 2006) dennisl $
+ */
+public abstract class AbstractPluginRelocator extends AbstractLogEnabled implements PluginRelocator
+{
+    /**
+     * If there is no replacement for this plugin, you can have the plugin
+     * removed from the v4 pom by returning <code>null</code> from this method
+     * and from getNewGroupId().
+     *
+     * @return The artifactId of the new Maven 2 plugin
+     */
+    public abstract String getNewArtifactId();
+
+    /**
+     * If there is no replacement for this plugin, you can have the plugin
+     * removed from the v4 pom by returning <code>null</code> from this method
+     * and from getNewArtifactId().
+     *
+     * @return The groupId of the new Maven 2 plugin
+     */
+    public abstract String getNewGroupId();
+
+    /**
+     * <strong>Note:</strong> Because we are working on the recently converted
+     * Maven 2 model, this method must return the artifactId that is in the
+     * 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 )
+     */
+    public abstract String getOldArtifactId();
+
+    /**
+     * <strong>Note:</strong> Because we are working on the recently converted
+     * Maven 2 model, this method must return the groupId that is in the model,
+     * after the model has been converted.
+     * <p/>
+     * Feel free to overload this method if your plugin has a different groupId.
+     * </p>
+     *
+     * @return The groupId of the Maven 1 plugin.
+     * @see org.apache.maven.model.converter.PomV3ToV4Translator#translateDependencies( java.util.List )
+     */
+    public String getOldGroupId()
+    {
+        return "org.apache.maven.plugins";
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public void relocate( Model v4Model )
+        throws MojoExecutionException
+    {
+        // Relocate build plugins
+        Plugin oldBuildPlugin = ModelUtils.findBuildPlugin( v4Model, getOldGroupId(), getOldArtifactId() );
+        if ( oldBuildPlugin != null )
+        {
+            if ( getNewArtifactId() == null && getNewGroupId() == null )
+            {
+                // Remove the old plugin
+                v4Model.getBuild().getPlugins().remove( oldBuildPlugin );
+                getLogger().info( "Removing build plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+            }
+            else
+            {
+                Plugin newPlugin = ModelUtils.findBuildPlugin( v4Model, getNewGroupId(), getNewArtifactId() );
+                if ( newPlugin == null )
+                {
+                    // The new plugin does not exist, relocate the old one
+                    oldBuildPlugin.setArtifactId( getNewArtifactId() );
+                    oldBuildPlugin.setGroupId( getNewGroupId() );
+                    getLogger().info( "Relocating build plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+                }
+                else
+                {
+                    // The new plugin already exist, remove the old one
+                    v4Model.getBuild().getPlugins().remove( oldBuildPlugin );
+                    getLogger().info( "Removing old build plugin " + getOldGroupId() + ":" + getOldArtifactId() +
+                        " because the new one already exist" );
+                }
+            }
+        }
+
+        // Relocate report plugins
+        ReportPlugin oldReportPlugin = ModelUtils.findReportPlugin( v4Model, getOldGroupId(), getOldArtifactId() );
+        if ( oldReportPlugin != null )
+        {
+            if ( getNewArtifactId() == null && getNewGroupId() == null )
+            {
+                // Remove the old plugin
+                v4Model.getReporting().getPlugins().remove( oldReportPlugin );
+                getLogger().info( "Removing report plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+            }
+            else
+            {
+                ReportPlugin newPlugin = ModelUtils.findReportPlugin( v4Model, getNewGroupId(), getNewArtifactId() );
+                if ( newPlugin == null )
+                {
+                    // The new plugin does not exist, relocate the old one
+                    oldReportPlugin.setArtifactId( getNewArtifactId() );
+                    oldReportPlugin.setGroupId( getNewGroupId() );
+                    getLogger().info( "Relocating report plugin " + getOldGroupId() + ":" + getOldArtifactId() );
+                }
+                else
+                {
+                    // The new plugin already exist, remove the old one
+                    v4Model.getReporting().getPlugins().remove( oldReportPlugin );
+                    getLogger().info( "Removing old report plugin " + getOldGroupId() + ":" + getOldArtifactId() +
+                        " because the new one already exist" );
+                }
+            }
+        }
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractSourceForgePluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractSourceForgePluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractSourceForgePluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractSourceForgePluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,34 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A parent <code>PluginRelocator</code> for SourceForge plugins.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: AbstractSourceForgePluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) dennisl $
+ */
+public abstract class AbstractSourceForgePluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getOldGroupId()
+     */
+    public String getOldGroupId()
+    {
+        return "maven-plugins";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/AbstractSourceForgePluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/CoberturaPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/CoberturaPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/CoberturaPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/CoberturaPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-cobertura-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: CoberturaPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) dennisl $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="cobertura"
+ */
+public class CoberturaPluginRelocator extends AbstractSourceForgePluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "cobertura-maven-plugin";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.codehaus.mojo";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-cobertura-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/CoberturaPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DefaultPluginRelocatorManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DefaultPluginRelocatorManager.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DefaultPluginRelocatorManager.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DefaultPluginRelocatorManager.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,55 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.AbstractLogEnabled;
+
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * A default implementation of the <code>PluginRelocatorManager</code> interface.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: DefaultPluginRelocatorManager.java 3420 2006-06-23 20:23:59Z dennisl $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocatorManager"
+ */
+public class DefaultPluginRelocatorManager extends AbstractLogEnabled implements PluginRelocatorManager
+{
+    /**
+     * @plexus.requirement role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+     */
+    private Map pluginRelocators;
+
+    public PluginRelocator getPluginRelocator( String pluginRelocatorId )
+        throws NoSuchPluginRelocatorException
+    {
+        PluginRelocator pluginRelocator = (PluginRelocator) pluginRelocators.get( pluginRelocatorId );
+
+        if ( pluginRelocator == null )
+        {
+            throw new NoSuchPluginRelocatorException( pluginRelocatorId );
+        }
+
+        return pluginRelocator;
+    }
+
+    public Collection getPluginRelocators()
+    {
+        return pluginRelocators.values();
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DefaultPluginRelocatorManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DeveloperActivityPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DeveloperActivityPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DeveloperActivityPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DeveloperActivityPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-developer-activity-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: DeveloperActivityPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="developer-activity"
+ */
+public class DeveloperActivityPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "maven-changelog-plugin";
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.apache.maven.plugins";
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-developer-activity-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/DeveloperActivityPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FaqPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FaqPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FaqPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FaqPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-faq-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: FaqPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="faq"
+ */
+public class FaqPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return null;
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return null;
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-faq-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FaqPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FileActivityPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FileActivityPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FileActivityPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FileActivityPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-file-activity-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: DeveloperActivityPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="file-activity"
+ */
+public class FileActivityPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "maven-changelog-plugin";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.apache.maven.plugins";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-file-activity-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FileActivityPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FindbugsPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FindbugsPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FindbugsPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FindbugsPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-findbugs-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: FindbugsPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="findbugs"
+ */
+public class FindbugsPluginRelocator extends AbstractSourceForgePluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "findbugs-maven-plugin";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.codehaus.mojo";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-findbugs-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/FindbugsPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdependPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdependPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdependPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdependPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-jdepend-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: TasklistPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="jdepend"
+ */
+public class JdependPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "jdepend-maven-plugin";
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.codehaus.mojo";
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-jdepend-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdependPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdiffPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdiffPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdiffPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdiffPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-jdiff-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: JdiffPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="jdiff"
+ */
+public class JdiffPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "jdiff-maven-plugin";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.codehaus.mojo";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-jdiff-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JdiffPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JunitReportPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JunitReportPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JunitReportPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JunitReportPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-junit-report-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: JunitReportPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="junit-report"
+ */
+public class JunitReportPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "maven-surefire-report-plugin";
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.apache.maven.plugins";
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-junit-report-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/JunitReportPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/LicenseRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/LicenseRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/LicenseRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/LicenseRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-license-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: LicenseRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="license"
+ */
+public class LicenseRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return null;
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return null;
+    }
+
+    /**
+     * @see org.apache.maven.maven1converter.relocators.AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-license-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/LicenseRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/NoSuchPluginRelocatorException.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/NoSuchPluginRelocatorException.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/NoSuchPluginRelocatorException.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/NoSuchPluginRelocatorException.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,38 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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 Dennis Lundberg
+ * @version $Id: NoSuchPluginRelocatorException.java 409264 2006-05-24 23:13:13 +0000 (on, 24 maj 2006) dennisl $
+ */
+public class NoSuchPluginRelocatorException extends Exception
+{
+    private final String pluginRelocatorId;
+
+    public NoSuchPluginRelocatorException( String pluginRelocatorId )
+    {
+        super( "No such plugin relocator '" + pluginRelocatorId + "'." );
+
+        this.pluginRelocatorId = pluginRelocatorId;
+    }
+
+    public String getPluginRelocatorId()
+    {
+        return pluginRelocatorId;
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/NoSuchPluginRelocatorException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,42 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.apache.maven.model.Model;
+import org.apache.maven.plugin.MojoExecutionException;
+
+/**
+ * A plugin relocator handles a plugin that has changed its groupId and/or
+ * artifactId between the Maven 1 version and the Maven 2 version. It changes
+ * the appropriate values in the v4 pom.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: PluginRelocator.java 409264 2006-05-24 23:13:13 +0000 (on, 24 maj 2006) carlos $
+ */
+public interface PluginRelocator
+{
+    String ROLE = PluginRelocator.class.getName();
+
+    /**
+     * Relocate a plugin from one groupId/artifactId to another.
+     *
+     * @param v4Model The model where we look for the plugin
+     * @throws MojoExecutionException
+     */
+    void relocate( Model v4Model )
+        throws MojoExecutionException;
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocatorManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocatorManager.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocatorManager.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocatorManager.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,47 @@
+package org.apache.maven.maven1converter.relocators;
+
+import java.util.Collection;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A manager for plugin relocators.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: PluginRelocatorManager.java 409264 2006-05-24 23:13:13 +0000 (on, 24 maj 2006) dennisl $
+ */
+public interface PluginRelocatorManager
+{
+    String ROLE = PluginRelocatorManager.class.getName();
+
+    /**
+     * Get a named plugin relocator.
+     *
+     * @param pluginRelocatorId The role-hint for the plexus component
+     * @return The named plugin relocator
+     * @throws NoSuchPluginRelocatorException If the named plugin relocator can not be found
+     */
+    PluginRelocator getPluginRelocator( String pluginRelocatorId )
+        throws NoSuchPluginRelocatorException;
+
+    /**
+     * Get all available plugin relocators.
+     *
+     * @return A <code>Collection</code> of <code>PluginRelocator</code> objects
+     */
+    Collection getPluginRelocators();
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/PluginRelocatorManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/SimianPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/SimianPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/SimianPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/SimianPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-simian-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: SimianPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="simian"
+ */
+public class SimianPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "simian-maven-plugin";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.codehaus.mojo";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-simian-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/SimianPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/TasklistPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/TasklistPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/TasklistPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/TasklistPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-tasklist-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: TasklistPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="tasklist"
+ */
+public class TasklistPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return "taglist-maven-plugin";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return "org.codehaus.mojo";
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-tasklist-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/TasklistPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/XdocPluginRelocator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/XdocPluginRelocator.java?rev=417588&view=auto
==============================================================================
--- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/XdocPluginRelocator.java (added)
+++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/XdocPluginRelocator.java Tue Jun 27 14:16:37 2006
@@ -0,0 +1,52 @@
+package org.apache.maven.maven1converter.relocators;
+
+/*
+ * Copyright 2006 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.
+ */
+
+/**
+ * A <code>PluginRelocator</code> for the maven-xdoc-plugin.
+ *
+ * @author Dennis Lundberg
+ * @version $Id: XdocPluginRelocator.java 411318 2006-06-02 22:34:35 +0000 (fr, 02 jun 2006) carlos $
+ * @plexus.component role="org.apache.maven.maven1converter.relocators.PluginRelocator"
+ * role-hint="xdoc"
+ */
+public class XdocPluginRelocator extends AbstractPluginRelocator
+{
+    /**
+     * @see AbstractPluginRelocator#getNewArtifactId()
+     */
+    public String getNewArtifactId()
+    {
+        return null;
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getNewGroupId()
+     */
+    public String getNewGroupId()
+    {
+        return null;
+    }
+
+    /**
+     * @see AbstractPluginRelocator#getOldArtifactId()
+     */
+    public String getOldArtifactId()
+    {
+        return "maven-xdoc-plugin";
+    }
+}

Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/relocators/XdocPluginRelocator.java
------------------------------------------------------------------------------
    svn:eol-style = native