You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2008/01/23 01:33:41 UTC

svn commit: r614398 - in /maven/plugins/trunk/maven-project-info-reports-plugin: pom.xml src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java

Author: vsiveton
Date: Tue Jan 22 16:33:40 2008
New Revision: 614398

URL: http://svn.apache.org/viewvc?rev=614398&view=rev
Log:
MSITE-290: Move logic from AbstractSiteMojo and AbstractSiteRenderingMojo for Doxia related stuff
MNG-3346: Move logic inside AbstractProjectInfoReport to maven-reporting-impl

o used new shared maven-doxia-tools

Modified:
    maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml?rev=614398&r1=614397&r2=614398&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml Tue Jan 22 16:33:40 2008
@@ -261,6 +261,12 @@
       </exclusions>
     </dependency>
 
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-doxia-tools</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+
     <!-- Plexus -->
     <dependency>
       <groupId>org.codehaus.plexus</groupId>

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java?rev=614398&r1=614397&r2=614398&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java Tue Jan 22 16:33:40 2008
@@ -35,6 +35,8 @@
 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.doxia.tools.SiteTool;
+import org.apache.maven.doxia.tools.SiteToolException;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
@@ -61,6 +63,13 @@
     extends AbstractMavenReport
 {
     /**
+     * SiteTool.
+     *
+     * @component
+     */
+    protected SiteTool siteTool;
+
+    /**
      * Report output directory.
      *
      * @parameter expression="${project.reporting.outputDirectory}"
@@ -132,7 +141,8 @@
             attributes.put( "outputEncoding", "UTF-8" );
             attributes.put( "project", project );
             Locale locale = Locale.getDefault();
-            SiteRenderingContext siteContext = siteRenderer.createContextForSkin( getSkinArtifactFile(), attributes,
+            Artifact defaultSkin = siteTool.getDefaultSkinArtifact( localRepository, project.getRemoteArtifactRepositories()  );
+            SiteRenderingContext siteContext = siteRenderer.createContextForSkin( defaultSkin.getFile(), attributes,
                                                                                   model, getName( locale ), locale );
 
             RenderingContext context = new RenderingContext( outputDirectory, getOutputName() + ".html" );
@@ -159,6 +169,11 @@
             throw new MojoExecutionException(
                 "An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
         }
+        catch ( SiteToolException e )
+        {
+            throw new MojoExecutionException(
+                "An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
+        }
         catch ( MavenReportException e )
         {
             throw new MojoExecutionException(
@@ -192,44 +207,5 @@
     protected Renderer getSiteRenderer()
     {
         return siteRenderer;
-    }
-
-    // ----------------------------------------------------------------------
-    // Private methods
-    // ----------------------------------------------------------------------
-
-    private File getSkinArtifactFile()
-        throws MojoExecutionException
-    {
-        Skin skin = Skin.getDefaultSkin();
-
-        String version = skin.getVersion();
-        Artifact artifact;
-        try
-        {
-            if ( version == null )
-            {
-                version = Artifact.RELEASE_VERSION;
-            }
-            VersionRange versionSpec = VersionRange.createFromVersionSpec( version );
-            artifact = factory.createDependencyArtifact( skin.getGroupId(), skin.getArtifactId(), versionSpec, "jar",
-                                                         null, null );
-
-            resolver.resolve( artifact, project.getRemoteArtifactRepositories(), localRepository );
-        }
-        catch ( InvalidVersionSpecificationException e )
-        {
-            throw new MojoExecutionException( "The skin version '" + version + "' is not valid: " + e.getMessage() );
-        }
-        catch ( ArtifactResolutionException e )
-        {
-            throw new MojoExecutionException( "Unable to find skin", e );
-        }
-        catch ( ArtifactNotFoundException e )
-        {
-            throw new MojoExecutionException( "The skin does not exist: " + e.getMessage() );
-        }
-
-        return artifact.getFile();
     }
 }