Author: carlos Date: Fri Jun 2 15:34:35 2006 New Revision: 411318 URL: http://svn.apache.org/viewvc?rev=411318&view=rev Log: [MNG-2338] Allow configuration conversion for reporting plugins
Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/AbstractPluginConfigurationConverter.java maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCompiler.java maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCSurefire.java maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCWar.java Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/AbstractPluginConfigurationConverter.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/AbstractPluginConfigurationConverter.java?rev=411318&r1=411317&r2=411318&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/AbstractPluginConfigurationConverter.java (original) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/AbstractPluginConfigurationConverter.java Fri Jun 2 15:34:35 2006 @@ -16,24 +16,29 @@ * limitations under the License. */ -import java.io.StringReader; -import java.util.Iterator; -import java.util.Properties; - +import org.apache.maven.model.Build; import org.apache.maven.model.Model; import org.apache.maven.model.Plugin; +import org.apache.maven.model.ReportPlugin; +import org.apache.maven.model.Reporting; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.plexus.util.xml.Xpp3Dom; import org.codehaus.plexus.util.xml.Xpp3DomBuilder; +import java.io.StringReader; +import java.util.Iterator; +import java.util.Properties; + /** * @author Fabrizio Giustina * @author Dennis Lundberg * @version $Id$ */ -public abstract class AbstractPluginConfigurationConverter - implements PluginConfigurationConverter +public abstract class AbstractPluginConfigurationConverter implements PluginConfigurationConverter { + public static final String TYPE_BUILD_PLUGIN = "build plugin"; + public static final String TYPE_REPORT_PLUGIN = "report plugin"; + public abstract String getArtifactId(); public String getGroupId() @@ -41,6 +46,8 @@ return "org.apache.maven.plugins"; } + public abstract String getType(); + /** * Add a child element to the configuration. * @@ -61,9 +68,9 @@ /** * Add a child element to the configuration. * - * @param configuration The configuration to add the element to - * @param mavenTwoElement The name of the Maven 2 configuration element - * @param value Set the value of the element to this + * @param configuration The configuration to add the element to + * @param mavenTwoElement The name of the Maven 2 configuration element + * @param value Set the value of the element to this * @throws MojoExecutionException if an element can't be created */ protected void addConfigurationChild( Xpp3Dom configuration, String mavenTwoElement, String value ) @@ -76,7 +83,7 @@ } public void convertConfiguration( Model v4Model, org.apache.maven.model.v3_0_0.Model v3Model, - Properties projectProperties ) + Properties projectProperties ) throws MojoExecutionException { boolean addPlugin = false; @@ -87,34 +94,67 @@ if ( configuration.getChildCount() > 0 ) { - Plugin plugin = findPlugin( v4Model, getGroupId(), getArtifactId() ); - if ( plugin == null ) + if ( TYPE_BUILD_PLUGIN.equals( getType() ) ) { - addPlugin = true; - plugin = new Plugin(); - plugin.setGroupId( getGroupId() ); - plugin.setArtifactId( getArtifactId() ); + Plugin plugin = findBuildPlugin( v4Model, getGroupId(), getArtifactId() ); + if ( plugin == null ) + { + addPlugin = true; + plugin = new Plugin(); + plugin.setGroupId( getGroupId() ); + plugin.setArtifactId( getArtifactId() ); + } + + plugin.setConfiguration( configuration ); + + if ( addPlugin ) + { + if ( v4Model.getBuild() == null ) + { + v4Model.setBuild( new Build() ); + } + v4Model.getBuild().addPlugin( plugin ); + } } - - plugin.setConfiguration( configuration ); - - if ( addPlugin ) + else if ( TYPE_REPORT_PLUGIN.equals( getType() ) ) { - v4Model.getBuild().addPlugin( plugin ); - } + ReportPlugin plugin = findReportPlugin( v4Model, getGroupId(), getArtifactId() ); + if ( plugin == null ) + { + addPlugin = true; + plugin = new ReportPlugin(); + plugin.setGroupId( getGroupId() ); + plugin.setArtifactId( getArtifactId() ); + } + + plugin.setConfiguration( configuration ); + + if ( addPlugin ) + { + if ( v4Model.getReporting() == null ) + { + v4Model.setReporting( new Reporting() ); + } + v4Model.getReporting().addPlugin( plugin ); + } + } } } /** * Try to find a plugin in a model. * - * @param model Look for the plugin in this model - * @param groupId The groupId for the plugin to look for - * @param artifactId The artifactId for the plugin to look for - * @return The requested plugin if it exists, otherwise null + * @param model Look for the build plugin in this model + * @param groupId The groupId for the build plugin to look for + * @param artifactId The artifactId for the build plugin to look for + * @return The requested build plugin if it exists, otherwise null */ - private Plugin findPlugin( Model model, String groupId, String artifactId ) + private Plugin findBuildPlugin( Model model, String groupId, String artifactId ) { + if ( model.getBuild() == null || model.getBuild().getPlugins() == null ) + { + return null; + } Iterator iterator = model.getBuild().getPlugins().iterator(); while ( iterator.hasNext() ) { @@ -122,13 +162,39 @@ if ( plugin.getGroupId().equals( groupId ) && plugin.getArtifactId().equals( artifactId ) ) { return plugin; + } + } + return null; } + + /** + * Try to find a report plugin in a model. + * + * @param model Look for the report plugin in this model + * @param groupId The groupId for the report plugin to look for + * @param artifactId The artifactId for the report plugin to look for + * @return The requested report plugin if it exists, otherwise null + */ + private ReportPlugin findReportPlugin( Model model, String groupId, String artifactId ) + { + if ( model.getReporting() == null || model.getReporting().getPlugins() == null ) + { + return null; + } + Iterator iterator = model.getReporting().getPlugins().iterator(); + while ( iterator.hasNext() ) + { + ReportPlugin plugin = (ReportPlugin) iterator.next(); + if ( plugin.getGroupId().equals( groupId ) && plugin.getArtifactId().equals( artifactId ) ) + { + return plugin; + } } return null; } protected abstract void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model, - Properties projectProperties ) + Properties projectProperties ) throws MojoExecutionException; protected Xpp3Dom newXpp3Dom( String input ) Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCompiler.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCompiler.java?rev=411318&r1=411317&r2=411318&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCompiler.java (original) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCompiler.java Fri Jun 2 15:34:35 2006 @@ -37,6 +37,11 @@ return "maven-compiler-plugin"; } + public String getType() + { + return TYPE_BUILD_PLUGIN; + } + protected void addOnOffConfigurationChild( Xpp3Dom configuration, Properties projectProperties, String mavenOneProperty, String mavenTwoElement ) throws MojoExecutionException Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCSurefire.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCSurefire.java?rev=411318&r1=411317&r2=411318&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCSurefire.java (original) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCSurefire.java Fri Jun 2 15:34:35 2006 @@ -40,6 +40,11 @@ return "maven-surefire-plugin"; } + public String getType() + { + return TYPE_BUILD_PLUGIN; + } + protected void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model, Properties projectProperties ) throws MojoExecutionException Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCWar.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCWar.java?rev=411318&r1=411317&r2=411318&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCWar.java (original) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCWar.java Fri Jun 2 15:34:35 2006 @@ -38,6 +38,11 @@ return "maven-war-plugin"; } + public String getType() + { + return TYPE_BUILD_PLUGIN; + } + protected void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model, Properties projectProperties ) throws MojoExecutionException