Author: vsiveton
Date: Thu Aug 13 11:10:31 2009
New Revision: 803843

URL: http://svn.apache.org/viewvc?rev=803843&view=rev
Log:
MCHECKSTYLE-120: Bump to Doxia 1.0

o updated dependencies
o fixed test cases

Modified:
    maven/plugins/trunk/maven-checkstyle-plugin/pom.xml
    
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
    
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java
    
maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleReportTest.java

Modified: maven/plugins/trunk/maven-checkstyle-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/pom.xml?rev=803843&r1=803842&r2=803843&view=diff
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-checkstyle-plugin/pom.xml Thu Aug 13 11:10:31 2009
@@ -58,10 +58,12 @@
   </issueManagement>
 
   <properties>
-    <mavenVersion>2.0</mavenVersion>
+    <mavenVersion>2.0.6</mavenVersion>
+    <doxiaVersion>1.0</doxiaVersion>
   </properties>
 
   <dependencies>
+    <!-- maven -->
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-artifact</artifactId>
@@ -90,13 +92,39 @@
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
-      <version>2.0</version>
+      <version>2.0.4.2</version>
+    </dependency>
+
+    <!-- doxia -->
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-sink-api</artifactId>
+      <version>${doxiaVersion}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-site-renderer</artifactId>
+      <version>${doxiaVersion}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-container-default</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <!-- shared -->
+    <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-doxia-tools</artifactId>
-      <version>1.0</version>
+      <version>1.0.2</version>
     </dependency>
+
+    <!-- plexus -->
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
@@ -115,19 +143,24 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-velocity</artifactId>
-      <version>1.1.2</version>
+      <version>1.1.7</version>
       <exclusions>
         <exclusion>
-          <!-- Use the version specified by checkstyle:checkstyle instead -->
-          <artifactId>commons-collections</artifactId>
-          <groupId>commons-collections</groupId>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-container-default</artifactId>
         </exclusion>
         <exclusion>
-          <artifactId>plexus-utils</artifactId>
-          <groupId>plexus</groupId>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>velocity</groupId>
+          <artifactId>velocity</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
+
+    <!-- checkstyle -->
     <dependency>
       <groupId>checkstyle</groupId>
       <artifactId>checkstyle</artifactId>
@@ -138,6 +171,26 @@
       <artifactId>checkstyle-optional</artifactId>
       <version>4.4</version>
     </dependency>
+
+    <!-- misc -->
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>1.5</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2.1</version>
+    </dependency>
+
+    <!-- test -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.2</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-plugin-testing-harness</artifactId>

Modified: 
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java?rev=803843&r1=803842&r2=803843&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
 (original)
+++ 
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
 Thu Aug 13 11:10:31 2009
@@ -34,6 +34,7 @@
 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
 import com.puppycrawl.tools.checkstyle.filters.SuppressionsLoader;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.doxia.siterenderer.Renderer;
 import org.apache.maven.doxia.tools.SiteTool;
 import org.apache.maven.model.ReportPlugin;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -44,7 +45,6 @@
 import org.apache.velocity.context.Context;
 import org.apache.velocity.exception.ResourceNotFoundException;
 import org.apache.velocity.exception.VelocityException;
-import org.codehaus.doxia.site.renderer.SiteRenderer;
 import 
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.ServiceLocator;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Serviceable;
@@ -500,7 +500,7 @@
      * @required
      * @readonly
      */
-    private SiteRenderer siteRenderer;
+    private Renderer siteRenderer;
 
     /**
      * Velocity Component.
@@ -569,7 +569,7 @@
     /**
      * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
      */
-    protected SiteRenderer getSiteRenderer()
+    protected Renderer getSiteRenderer()
     {
         return siteRenderer;
     }

Modified: 
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java?rev=803843&r1=803842&r2=803843&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java
 (original)
+++ 
maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java
 Thu Aug 13 11:10:31 2009
@@ -24,10 +24,11 @@
 import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
 import com.puppycrawl.tools.checkstyle.api.Configuration;
 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
+
+import org.apache.maven.doxia.sink.Sink;
 import org.apache.maven.doxia.tools.SiteTool;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.plugin.logging.SystemStreamLog;
-import org.codehaus.doxia.sink.Sink;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;

Modified: 
maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleReportTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleReportTest.java?rev=803843&r1=803842&r2=803843&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleReportTest.java
 (original)
+++ 
maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleReportTest.java
 Thu Aug 13 11:10:31 2009
@@ -20,16 +20,20 @@
  */
 
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.plugin.Mojo;
+import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.siterenderer.RendererException;
+import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
+import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
 import org.apache.maven.reporting.MavenReport;
 import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.WriterFactory;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
+import java.io.Writer;
 import java.util.Locale;
-import java.util.PropertyResourceBundle;
 import java.util.ResourceBundle;
 
 /**
@@ -38,6 +42,8 @@
 public class CheckstyleReportTest
     extends AbstractMojoTestCase
 {
+    private Locale oldLocale;
+
     /**
      * @see junit.framework.TestCase#setUp()
      */
@@ -45,6 +51,9 @@
         throws Exception
     {
         super.setUp();
+
+        oldLocale = Locale.getDefault();
+        Locale.setDefault( Locale.ENGLISH );
     }
 
     /**
@@ -54,6 +63,9 @@
         throws Exception
     {
         super.tearDown();
+
+        Locale.setDefault( oldLocale );
+        oldLocale = null;
     }
 
     public void testNoSource()
@@ -61,16 +73,17 @@
     {
         File pluginXmlFile = new File( getBasedir(), 
"src/test/plugin-configs/no-source-plugin-config.xml" );
 
-        Mojo mojo = lookupMojo( "checkstyle", pluginXmlFile );
+        CheckstyleReport mojo = (CheckstyleReport) lookupMojo( "checkstyle", 
pluginXmlFile );
         assertNotNull( "Mojo found.", mojo );
         mojo.execute();
 
         File outputFile = (File) getVariableValueFromObject( mojo, 
"outputFile" );
 
-        assertNotNull( "Test output file", outputFile );
-        //if multiples executions without clean, this fail, because the 
-        // output file is not erased.
-        //assertFalse( "Test output file exists", outputFile.exists() );
+        renderer( mojo, outputFile );
+
+        assertTrue( outputFile.getAbsolutePath() + " not generated!", 
outputFile.exists() );
+
+        assertTrue( outputFile.getAbsolutePath() + " is empty!", 
outputFile.length() > 0 );
     }
 
     public void testMinConfiguration()
@@ -150,9 +163,10 @@
         throws Exception
     {
         File pluginXmlFile = new File( getBasedir(), 
"src/test/plugin-configs/" + pluginXml );
-        ResourceBundle bundle = ResourceBundle.getBundle( "checkstyle-report", 
Locale.ENGLISH, this.getClassLoader() );
+        ResourceBundle bundle =
+            ResourceBundle.getBundle( "checkstyle-report", 
Locale.getDefault(), this.getClassLoader() );
 
-        Mojo mojo = lookupMojo( "checkstyle", pluginXmlFile );
+        CheckstyleReport mojo = (CheckstyleReport) lookupMojo( "checkstyle", 
pluginXmlFile );
 
         assertNotNull( "Mojo found.", mojo );
 
@@ -186,11 +200,17 @@
 
         String filename = reportMojo.getOutputName() + ".html";
         File outputHtml = new File( outputDir, filename );
-        assertTrue( "Test output html file exists", outputHtml.exists() );
+
+        renderer( mojo, outputHtml );
+
+        assertTrue( outputHtml.getAbsolutePath() + " not generated!", 
outputHtml.exists() );
+
+        assertTrue( outputHtml.getAbsolutePath() + " is empty!", 
outputHtml.length() > 0 );
+
         String htmlString = FileUtils.fileRead( outputHtml );
 
-        boolean searchHeaderFound = ( htmlString.indexOf( "<h2>" + 
bundle.getString( "report.checkstyle.rules" )
-            + "</h2>" ) > 0 );
+        boolean searchHeaderFound =
+            ( htmlString.indexOf( "<h2>" + bundle.getString( 
"report.checkstyle.rules" ) + "</h2>" ) > 0 );
         Boolean rules = (Boolean) getVariableValueFromObject( mojo, 
"enableRulesSummary" );
         if ( rules.booleanValue() )
         {
@@ -201,7 +221,8 @@
             assertFalse( "Test for Rules Summary", searchHeaderFound );
         }
 
-        searchHeaderFound = ( htmlString.indexOf( "<h2>" + bundle.getString( 
"report.checkstyle.summary" ) + "</h2>" ) > 0 );
+        searchHeaderFound =
+            ( htmlString.indexOf( "<h2>" + bundle.getString( 
"report.checkstyle.summary" ) + "</h2>" ) > 0 );
         Boolean severity = (Boolean) getVariableValueFromObject( mojo, 
"enableSeveritySummary" );
         if ( severity.booleanValue() )
         {
@@ -212,7 +233,8 @@
             assertFalse( "Test for Severity Summary", searchHeaderFound );
         }
 
-        searchHeaderFound = ( htmlString.indexOf( "<h2>" + bundle.getString( 
"report.checkstyle.files" ) + "</h2>" ) > 0 );
+        searchHeaderFound =
+            ( htmlString.indexOf( "<h2>" + bundle.getString( 
"report.checkstyle.files" ) + "</h2>" ) > 0 );
         Boolean files = (Boolean) getVariableValueFromObject( mojo, 
"enableFilesSummary" );
         if ( files.booleanValue() )
         {
@@ -225,4 +247,34 @@
 
         return outputHtml;
     }
+
+    /**
+     * Renderer the sink from the report mojo.
+     *
+     * @param mojo not null
+     * @param outputHtml not null
+     * @throws RendererException if any
+     * @throws IOException if any
+     */
+    private void renderer( CheckstyleReport mojo, File outputHtml )
+        throws RendererException, IOException
+    {
+        Writer writer = null;
+        SiteRenderingContext context = new SiteRenderingContext();
+        context.setDecoration( new DecorationModel() );
+        context.setTemplateName( 
"org/apache/maven/doxia/siterenderer/resources/default-site.vm" );
+        context.setLocale( Locale.ENGLISH );
+
+        try
+        {
+            outputHtml.getParentFile().mkdirs();
+            writer = WriterFactory.newXmlWriter( outputHtml );
+
+            mojo.getSiteRenderer().generateDocument( writer, 
(SiteRendererSink) mojo.getSink(), context );
+        }
+        finally
+        {
+            IOUtil.close( writer );
+        }
+    }
 }


Reply via email to