Author: dennisl Date: Fri Jun 16 14:54:50 2006 New Revision: 414938 URL: http://svn.apache.org/viewvc?rev=414938&view=rev Log: Add PluginConfigurationConverter for maven-checkstyle-plugin
Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCheckstyle.java (with props) maven/sandbox/plugins/maven-maven1-plugin/src/test/java/org/apache/maven/maven1converter/plugins/PCCCheckstyleTest.java (with props) maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest1.properties (with props) maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest2.properties (with props) maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest3.properties (with props) Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java 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=414938&r1=414937&r2=414938&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 Fri Jun 16 14:54:50 2006 @@ -25,6 +25,7 @@ import java.io.Writer; import java.util.Properties; +import org.apache.maven.maven1converter.plugins.PCCCheckstyle; import org.apache.maven.maven1converter.plugins.PCCCompiler; import org.apache.maven.maven1converter.plugins.PCCJar; import org.apache.maven.maven1converter.plugins.PCCJavadoc; @@ -68,6 +69,7 @@ * Available converters for specific plugin configurations */ private PluginConfigurationConverter[] converters = new PluginConfigurationConverter[] { + new PCCCheckstyle(), new PCCCompiler(), new PCCJar(), new PCCJavadoc(), Added: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCheckstyle.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCheckstyle.java?rev=414938&view=auto ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCheckstyle.java (added) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCheckstyle.java Fri Jun 16 14:54:50 2006 @@ -0,0 +1,115 @@ +package org.apache.maven.maven1converter.plugins; + +/* + * 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.plugin.MojoExecutionException; +import org.codehaus.plexus.util.xml.Xpp3Dom; + +import java.util.Properties; + +/** + * A <code>PluginConfigurationConverter</code> for the maven-checkstyle-plugin. + * + * @author Dennis Lundberg + * @version $Id: PCCCheckstyle.java 409264 2006-05-24 23:13:13 +0000 (on, 24 maj 2006) carlos $ + */ +public class PCCCheckstyle extends AbstractPluginConfigurationConverter +{ + /** + * @see AbstractPluginConfigurationConverter#getArtifactId() + */ + public String getArtifactId() + { + return "maven-checkstyle-plugin"; + } + + public String getType() + { + return TYPE_REPORT_PLUGIN; + } + + protected void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model, + Properties projectProperties ) + throws MojoExecutionException + { + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.cache.file", "cacheFile" ); + + String format = projectProperties.getProperty( "maven.checkstyle.format" ); + if ( format != null ) + { + String mavenTwoformat = null; + if ( format.equals( "avalon" ) ) + { + mavenTwoformat = "config/avalon_checks.xml"; + } + else if ( format.equals( "turbine" ) ) + { + mavenTwoformat = "config/turbine_checks.xml"; + } + else if ( format.equals( "sun" ) ) + { + mavenTwoformat = "config/sun_checks.xml"; + } + if ( mavenTwoformat != null ) + { + addConfigurationChild( configuration, "configLocation", mavenTwoformat ); + } + } + else + { + String propertiesURL = projectProperties.getProperty( "maven.checkstyle.propertiesURL" ); + if ( propertiesURL != null ) + { + addConfigurationChild( configuration, "configLocation", propertiesURL ); + } + else + { + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.properties", + "configLocation" ); + } + } + + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.excludes", "excludes" ); + + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.fail.on.violation", "failsOnError" ); + + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.header.file", "headerLocation" ); + + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.includes", "includes" ); + + String outputText = projectProperties.getProperty( "maven.checkstyle.output.txt" ); + if ( outputText != null ) + { + addConfigurationChild( configuration, "outputFile", outputText ); + addConfigurationChild( configuration, "outputFileFormat", "plain" ); + } + else + { + String outputXml = projectProperties.getProperty( "maven.checkstyle.output.xml" ); + if ( outputXml != null ) + { + addConfigurationChild( configuration, "outputFile", outputXml ); + addConfigurationChild( configuration, "outputFileFormat", "xml" ); + } + } + + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.suppressions.file", + "suppressionsLocation" ); + + addConfigurationChild( configuration, projectProperties, "maven.checkstyle.usefile", "useFile" ); + } +} Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/plugins/PCCCheckstyle.java ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/sandbox/plugins/maven-maven1-plugin/src/test/java/org/apache/maven/maven1converter/plugins/PCCCheckstyleTest.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/test/java/org/apache/maven/maven1converter/plugins/PCCCheckstyleTest.java?rev=414938&view=auto ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/test/java/org/apache/maven/maven1converter/plugins/PCCCheckstyleTest.java (added) +++ maven/sandbox/plugins/maven-maven1-plugin/src/test/java/org/apache/maven/maven1converter/plugins/PCCCheckstyleTest.java Fri Jun 16 14:54:50 2006 @@ -0,0 +1,136 @@ +package org.apache.maven.maven1converter.plugins; + +/* + * 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 junit.framework.Assert; +import org.apache.maven.plugin.MojoExecutionException; + +import java.io.IOException; + +/** + * @author Dennis Lundberg + * @version $Id: PCCCheckstyleTest.java 409264 2006-05-24 23:13:13 +0000 (on, 24 maj 2006) carlos $ + */ +public class PCCCheckstyleTest extends AbstractPCCTest +{ + protected void setUp() + throws Exception + { + super.setUp(); + + pluginConfigurationConverter = new PCCCheckstyle(); + } + + public void testBuildConfiguration1() + { + try + { + projectProperties.load( getClassLoader().getResourceAsStream( "PCCCheckstyleTest1.properties" ) ); + + pluginConfigurationConverter.buildConfiguration( configuration, v3Model, projectProperties ); + + String value = configuration.getChild( "cacheFile" ).getValue(); + Assert.assertEquals( "check cacheFile value", "target/checkstyle/myCachefile", value ); + + value = configuration.getChild( "configLocation" ).getValue(); + Assert.assertEquals( "check configLocation value", "config/sun_checks.xml", value ); + + value = configuration.getChild( "excludes" ).getValue(); + Assert.assertEquals( "check excludes value", "**/*.html", value ); + + value = configuration.getChild( "failsOnError" ).getValue(); + Assert.assertEquals( "check failsOnError value", "true", value ); + + value = configuration.getChild( "headerLocation" ).getValue(); + Assert.assertEquals( "check headerLocation value", "src/main/resources/HEADER.txt", value ); + + value = configuration.getChild( "includes" ).getValue(); + Assert.assertEquals( "check includes value", "**/*.java", value ); + + value = configuration.getChild( "outputFile" ).getValue(); + Assert.assertEquals( "check outputFile value", "target/checkstyle/checkstyle-raw-report.txt", value ); + + value = configuration.getChild( "outputFileFormat" ).getValue(); + Assert.assertEquals( "check outputFileFormat value", "plain", value ); + + value = configuration.getChild( "suppressionsLocation" ).getValue(); + Assert.assertEquals( "check suppressionsLocation value", "src/main/resources/mySuppressions.xml", value ); + + value = configuration.getChild( "useFile" ).getValue(); + Assert.assertEquals( "check useFile value", "true", value ); + } + catch ( MojoExecutionException e ) + { + Assert.fail( e.getMessage() ); + } + catch ( IOException e ) + { + Assert.fail( "Unable to find the requested resource." ); + } + } + + public void testBuildConfiguration2() + { + try + { + projectProperties.load( getClassLoader().getResourceAsStream( "PCCCheckstyleTest2.properties" ) ); + + pluginConfigurationConverter.buildConfiguration( configuration, v3Model, projectProperties ); + + + String value = configuration.getChild( "configLocation" ).getValue(); + Assert.assertEquals( "check configLocation value", + "http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/avalon_checks.xml", + value ); + + value = configuration.getChild( "outputFile" ).getValue(); + Assert.assertEquals( "check outputFile value", "target/checkstyle/checkstyle-raw-report.xml", value ); + + value = configuration.getChild( "outputFileFormat" ).getValue(); + Assert.assertEquals( "check outputFileFormat value", "xml", value ); + } + catch ( MojoExecutionException e ) + { + Assert.fail( e.getMessage() ); + } + catch ( IOException e ) + { + Assert.fail( "Unable to find the requested resource." ); + } + } + + public void testBuildConfiguration3() + { + try + { + projectProperties.load( getClassLoader().getResourceAsStream( "PCCCheckstyleTest3.properties" ) ); + + pluginConfigurationConverter.buildConfiguration( configuration, v3Model, projectProperties ); + + String value = configuration.getChild( "configLocation" ).getValue(); + Assert.assertEquals( "check configLocation value", "checkstyle.xml", value ); + } + catch ( MojoExecutionException e ) + { + Assert.fail( e.getMessage() ); + } + catch ( IOException e ) + { + Assert.fail( "Unable to find the requested resource." ); + } + } +} Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/test/java/org/apache/maven/maven1converter/plugins/PCCCheckstyleTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest1.properties URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest1.properties?rev=414938&view=auto ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest1.properties (added) +++ maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest1.properties Fri Jun 16 14:54:50 2006 @@ -0,0 +1,25 @@ +# 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. + +maven.checkstyle.cache.file=target/checkstyle/myCachefile +maven.checkstyle.excludes=**/*.html +maven.checkstyle.fail.on.violation=true +maven.checkstyle.format=sun +maven.checkstyle.header.file=src/main/resources/HEADER.txt +maven.checkstyle.includes=**/*.java +maven.checkstyle.output.txt=target/checkstyle/checkstyle-raw-report.txt +maven.checkstyle.properties=checkstyle.xml +maven.checkstyle.propertiesURL=http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/avalon_checks.xml +maven.checkstyle.suppressions.file=src/main/resources/mySuppressions.xml +maven.checkstyle.usefile=true Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest1.properties ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest2.properties URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest2.properties?rev=414938&view=auto ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest2.properties (added) +++ maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest2.properties Fri Jun 16 14:54:50 2006 @@ -0,0 +1,17 @@ +# 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. + +maven.checkstyle.output.xml=target/checkstyle/checkstyle-raw-report.xml +maven.checkstyle.properties=checkstyle.xml +maven.checkstyle.propertiesURL=http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/avalon_checks.xml Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest2.properties ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest3.properties URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest3.properties?rev=414938&view=auto ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest3.properties (added) +++ maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest3.properties Fri Jun 16 14:54:50 2006 @@ -0,0 +1,16 @@ +# 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. + +maven.checkstyle.output.xml=checkstyle-raw-report.xml +maven.checkstyle.properties=checkstyle.xml Propchange: maven/sandbox/plugins/maven-maven1-plugin/src/test/resources/PCCCheckstyleTest3.properties ------------------------------------------------------------------------------ svn:eol-style = native