codenarc-maven-pluginをmvn siteで使えるようにするパッチ

GroovyのコーディングスタイルをチェックするCodeNarcには、Mavenプラグインが用意されてはいるのだけど、mvn siteから実行させようとすると無限ループに陥ってしまう。
仕方ないから codenarc-maven-plugin 0.8-alpha-SNAPSHOT に対するパッチを書いた。
http://svn.codehaus.org/mojo/trunk/sandbox/codenarc-maven-plugin/ ここからチェックアウトして、パッチ当てて、mvn installして使って下さい。
pom.xmlのほうは、CodeNarcのバージョンを上げたついでにMaven 3.0でも動くように修正した(はず)。

Index: pom.xml
===================================================================
--- pom.xml	(revision 13777)
+++ pom.xml	(working copy)
@@ -12,7 +12,7 @@
   <groupId>org.codehaus.mojo</groupId>
 -->
   <artifactId>codenarc-maven-plugin</artifactId>
-  <version>0.8-alpha-SNAPSHOT</version>
+  <version>0.8-beta-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
 
   <name>CodeNarc Maven Plugin</name>
@@ -56,35 +56,19 @@
   </issueManagement>
 
   <properties>
-    <groovy.plugin.version>1.0-rc-3</groovy.plugin.version>
+    <gmaven.version>1.2</gmaven.version>
   </properties>
 
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
-      <version>2.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.reporting</groupId>
-      <artifactId>maven-reporting-api</artifactId>
-      <version>2.0.8</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.shared</groupId>
-      <artifactId>maven-doxia-tools</artifactId>
-      <version>1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
+      <version>2.1</version>
     </dependency>
     <dependency>
       <groupId>org.codenarc</groupId>
       <artifactId>CodeNarc</artifactId>
-      <version>0.8.1</version>
+      <version>0.13</version>
       <exclusions>
         <exclusion>
           <groupId>ant</groupId>
@@ -93,21 +77,6 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.14</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.groovy.maven</groupId>
-      <artifactId>gmaven-mojo</artifactId>
-      <version>1.0-rc-4</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.groovy.maven</groupId>
-      <artifactId>gmaven-mojo</artifactId>
-      <version>${groovy.plugin.version}</version>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-resources</artifactId>
       <version>1.0-alpha-4</version>
@@ -128,22 +97,20 @@
           <version>2.5</version>
         </plugin>
         <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>shitty-maven-plugin</artifactId>
-          <version>1.0-alpha-3</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.groovy.maven</groupId>
+          <groupId>org.codehaus.gmaven</groupId>
           <artifactId>gmaven-plugin</artifactId>
-          <version>${groovy.plugin.version}</version>
+          <version>${gmaven.version}</version>
         </plugin>
       </plugins>
     </pluginManagement>
     <plugins>
       <plugin>
-        <groupId>org.codehaus.groovy.maven</groupId>
+        <groupId>org.codehaus.gmaven</groupId>
         <artifactId>gmaven-plugin</artifactId>
-        <version>${groovy.plugin.version}</version>
+        <configuration>
+          <providerSelection>1.6</providerSelection>
+          <sourceEncoding>UTF-8</sourceEncoding>
+        </configuration>
         <executions>
           <execution>
             <goals>
Index: src/main/groovy/org/codehaus/mojo/codenarc/CodeNarcMojo.groovy
===================================================================
--- src/main/groovy/org/codehaus/mojo/codenarc/CodeNarcMojo.groovy	(revision 13777)
+++ src/main/groovy/org/codehaus/mojo/codenarc/CodeNarcMojo.groovy	(working copy)
@@ -21,8 +21,7 @@
 
 import org.apache.maven.reporting.AbstractMavenReport
 import org.apache.maven.project.MavenProject
-import org.codehaus.doxia.site.renderer.SiteRenderer;
-import org.apache.maven.doxia.tools.SiteTool
+import org.apache.maven.doxia.siterenderer.Renderer
 import org.codehaus.plexus.resource.ResourceManager
 import org.codehaus.plexus.resource.loader.FileResourceLoader
 
@@ -30,10 +29,9 @@
  * Create a CodeNarc Report.
  *
  * @goal codenarc
- * @execute phase="site"
  * @requiresDependencyResolution compile
  * @requiresProject
- * 
+ *
  * @author <a href="mailto:gleclaire@codehaus.org">Garvin LeClaire</a>
  * @version $Id: CodeNarcMojo.groovy gleclaire $
  */
@@ -76,7 +74,7 @@
      * @readonly
      */
     MavenProject project
-  
+
     /**
      * Location where generated html will be created.
      *
@@ -101,16 +99,7 @@
      * @required
      * @readonly
      */
-    SiteRenderer siteRenderer
-
-    /**
-     * SiteTool.
-     *
-     * @component role="org.apache.maven.doxia.tools.SiteTool"
-     * @required
-     * @readonly
-     */
-    protected SiteTool siteTool
+    Renderer siteRenderer
 
     /**
      * @component
@@ -216,7 +205,7 @@
         if (outputFile.exists()) {
             log.info("Generating CodeNarc HTML")
 
-            CodeNarcReportGenerator generator = new CodeNarcReportGenerator( getSink(), getBundle(locale), this.project.getBasedir(), siteTool)
+            CodeNarcReportGenerator generator = new CodeNarcReportGenerator( getSink(), getBundle(locale), this.project.getBasedir())
 
             generator.setLog(log)
 
@@ -304,7 +293,7 @@
         return outputDirectory.getAbsolutePath()
     }
 
-    protected SiteRenderer getSiteRenderer() {
+    protected Renderer getSiteRenderer() {
         return this.siteRenderer
     }
 
Index: src/main/groovy/org/codehaus/mojo/codenarc/CodeNarcReportGenerator.groovy
===================================================================
--- src/main/groovy/org/codehaus/mojo/codenarc/CodeNarcReportGenerator.groovy	(revision 13777)
+++ src/main/groovy/org/codehaus/mojo/codenarc/CodeNarcReportGenerator.groovy	(working copy)
@@ -21,12 +21,11 @@
 
 import groovy.util.slurpersupport.GPathResult
 import org.apache.maven.doxia.sink.Sink
-import org.apache.maven.doxia.tools.SiteTool
 import org.apache.maven.plugin.logging.Log
 
 /**
  * The reporter controls the generation of the CodeNarc report.
- * 
+ *
  * @author <a href="mailto:gleclaire@codehaus.org">Garvin LeClaire</a>
  * @version $Id: CodeNarcReportGenerator.groovy Z gleclaire $
  */
@@ -209,14 +208,6 @@
     File outputDirectory
 
 
-    /**
-     * "org.apache.maven.doxia.tools.SiteTool"
-     *
-     */
-    SiteTool siteTool
-
-
-
     File basedir
 
     GPathResult CodeNarcResults
@@ -231,21 +222,17 @@
      *            The resource bundle to get the messages from.
      * @param basedir
      *            The project base directory.
-     * @param siteTool
-     *            Doxia SiteTool Handle.
      */
-    CodeNarcReportGenerator(Sink sink, ResourceBundle bundle, File basedir, SiteTool siteTool) {
+    CodeNarcReportGenerator(Sink sink, ResourceBundle bundle, File basedir) {
 
 
         assert sink
         assert bundle
         assert basedir
-        assert siteTool
 
         this.sink = sink
         this.bundle = bundle
         this.basedir = basedir
-        this.siteTool = siteTool
 
 
 
@@ -475,7 +462,7 @@
         sink.section1_()
     }
 
- 
+
     /**
      * Print the File Detail Section.
      */
@@ -618,7 +605,7 @@
         }
 
 
- 
+
         sink.table_()
 
         sink.section1_()