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(); } }