PR: MNG-1034

Submitted by: Johnny R. Ruiz III
Reviewed by:  Brett Porter
switch plugins to use the outputDirectory field of <reporting>

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@306506 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Leslie Porter 2005-10-06 03:09:20 +00:00
parent fa968c9a87
commit 36b0bfffaf
11 changed files with 107 additions and 135 deletions

View File

@ -17,12 +17,12 @@ package org.apache.maven.plugin.clover;
*/
import com.cenqua.clover.reporters.html.HtmlReporter;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.MavenReportException;
import org.apache.maven.plugin.MojoExecutionException;
import org.codehaus.doxia.site.renderer.SiteRenderer;
import org.codehaus.doxia.sink.Sink;
import org.codehaus.doxia.site.renderer.SiteRenderer;
import java.util.Locale;
import java.util.ResourceBundle;
@ -35,7 +35,8 @@ import java.util.ResourceBundle;
* @goal clover
* @execute phase="test" lifecycle="clover"
*/
public class CloverReportMojo extends AbstractMavenReport
public class CloverReportMojo
extends AbstractMavenReport
{
/**
* @parameter expression="${project.build.directory}/clover/clover.db"
@ -44,15 +45,13 @@ public class CloverReportMojo extends AbstractMavenReport
private String cloverDatabase;
/**
* @parameter expression="${project.build.directory}/site/clover"
* @parameter expression="${project.reporting.outputDirectory}/clover"
* @required
*/
private String outputDirectory;
/**
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
* @component
*/
private SiteRenderer siteRenderer;
@ -157,8 +156,8 @@ public class CloverReportMojo extends AbstractMavenReport
}
catch ( Exception e )
{
throw new MojoExecutionException( "An error has occurred in " + getName( Locale.ENGLISH )
+ " report generation.", e );
throw new MojoExecutionException(
"An error has occurred in " + getName( Locale.ENGLISH ) + " report generation.", e );
}
}

View File

@ -60,9 +60,7 @@ public class PluginReport
/**
* Doxia Site Renderer.
*
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
* @component
*/
private SiteRenderer siteRenderer;
@ -78,8 +76,7 @@ public class PluginReport
/**
* Mojo scanner tools.
*
* @parameter expression="${component.org.apache.maven.tools.plugin.scanner.MojoScanner}"
* @required
* @component
*/
protected MojoScanner mojoScanner;

View File

@ -23,7 +23,6 @@ import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.AbstractMavenReportRenderer;
import org.apache.maven.reporting.MavenReportException;
import org.codehaus.doxia.sink.Sink;
import org.codehaus.doxia.site.renderer.SiteRenderer;
import org.codehaus.plexus.util.StringUtils;
@ -35,11 +34,10 @@ import java.util.ResourceBundle;
/**
* Generates the Project Continuous Integration System report.
*
* @goal cim
*
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
* @version $Id$
* @goal cim
*/
public class CimReport
extends AbstractMavenReport
@ -49,16 +47,16 @@ public class CimReport
// ----------------------------------------------------------------------
/**
* Report output directory.
*
* @parameter expression="${project.build.directory}/site"
* Report output directory.
*
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;
/**
* Doxia SiteRender.
*
*
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
@ -67,7 +65,7 @@ public class CimReport
/**
* The Maven Project.
*
*
* @parameter expression="${project}"
* @required
* @readonly
@ -215,16 +213,15 @@ public class CimReport
String address = getBundle( locale ).getString( "report.cim.notifiers.column.address" );
String configuration = getBundle( locale ).getString( "report.cim.notifiers.column.configuration" );
tableHeader( new String[] { type, address, configuration } );
tableHeader( new String[]{type, address, configuration} );
for ( Iterator i = notifiers.iterator(); i.hasNext(); )
{
Notifier notifier = (Notifier) i.next();
tableRow( new String[] {
notifier.getType(),
tableRow( new String[]{notifier.getType(),
createLinkPatternedText( notifier.getAddress(), notifier.getAddress() ),
propertiesToString( notifier.getConfiguration() ) } );
propertiesToString( notifier.getConfiguration() )} );
}
endTable();
@ -235,7 +232,7 @@ public class CimReport
/**
* Checks if a CIM system is bugzilla, continium...
*
*
* @return true if the CIM system is bugzilla, continium..., false
* otherwise.
*/

View File

@ -48,15 +48,15 @@ public class DependenciesReport
{
/**
* Report output directory.
*
* @parameter expression="${project.build.directory}/site"
*
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;
/**
* Doxia Site Renderer.
*
*
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
@ -65,7 +65,7 @@ public class DependenciesReport
/**
* The Maven Project.
*
*
* @parameter expression="${project}"
* @required
* @readonly
@ -74,7 +74,7 @@ public class DependenciesReport
/**
* Maven ArtifactFactory.
*
*
* @parameter expression="${component.org.apache.maven.artifact.factory.ArtifactFactory}"
* @required
* @readonly
@ -83,7 +83,7 @@ public class DependenciesReport
/**
* Maven Project Builder.
*
*
* @parameter expression="${component.org.apache.maven.project.MavenProjectBuilder}"
* @required
* @readonly
@ -92,7 +92,7 @@ public class DependenciesReport
/**
* Local Repository.
*
*
* @parameter expression="${localRepository}"
* @required
* @readonly
@ -245,9 +245,10 @@ public class DependenciesReport
}
catch ( ProjectBuildingException e )
{
throw new IllegalArgumentException( "Can't find a valid Maven project in the repository for the artifact ["
+ artifact.getGroupId() + ":" + artifact.getArtifactId()
+ ":" + artifact.getVersion() + "]." );
throw new IllegalArgumentException(
"Can't find a valid Maven project in the repository for the artifact [" +
artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion() +
"]." );
}
tableRow( new String[]{artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
@ -289,10 +290,10 @@ public class DependenciesReport
catch ( ProjectBuildingException e )
{
// TODO: better exception handling needed - log PBE
throw new IllegalArgumentException( "Can't find a valid Maven project in the repository for the artifact ["
+ artifact.getGroupId() + ":"
+ artifact.getArtifactId() + ":"
+ artifact.getVersion() + "]." );
throw new IllegalArgumentException(
"Can't find a valid Maven project in the repository for the artifact [" +
artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion() +
"]." );
}
tableRow( new String[]{artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
artifactProject.getDescription(),
@ -349,14 +350,17 @@ public class DependenciesReport
throws ProjectBuildingException
{
Artifact projectArtifact = artifact;
if ( !"pom".equals( artifact.getType() ) )
{
projectArtifact = artifactFactory.createProjectArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getScope() );
projectArtifact = artifactFactory.createProjectArtifact( artifact.getGroupId(),
artifact.getArtifactId(),
artifact.getVersion(), artifact.getScope() );
}
// TODO: we should use the MavenMetadataSource instead
return mavenProjectBuilder.buildFromRepository( projectArtifact, project.getRepositories(), localRepository );
return mavenProjectBuilder.buildFromRepository( projectArtifact, project.getRepositories(),
localRepository );
}
}

View File

@ -26,32 +26,30 @@ import org.codehaus.doxia.sink.Sink;
import org.codehaus.doxia.site.renderer.SiteRenderer;
import org.codehaus.plexus.util.StringUtils;
import java.io.IOException;
import java.util.Locale;
import java.util.ResourceBundle;
/**
* Generates the Project Issue Tracking report.
*
* @goal issue-tracking
*
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
* @version $Id$
* @goal issue-tracking
*/
public class IssueTrackingReport
extends AbstractMavenReport
{
/**
* Report outpur directory.
*
* @parameter expression="${project.build.directory}/site"
*
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;
/**
* Doxia Site Renderer.
*
*
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
@ -60,7 +58,7 @@ public class IssueTrackingReport
/**
* The Maven Project.
*
*
* @parameter expression="${project}"
* @required
* @readonly
@ -212,7 +210,7 @@ public class IssueTrackingReport
/**
* Checks if a issue management system is Jira, bugzilla...
*
*
* @return true if the issue management system is Jira, bugzilla, false
* otherwise.
*/

View File

@ -53,7 +53,7 @@ public class LicenseReport
/**
* Report output directory.
*
* @parameter expression="${project.build.directory}/site"
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;

View File

@ -44,7 +44,7 @@ public class MailingListsReport
/**
* Report output directory.
*
* @parameter expression="${project.build.directory}/site"
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;

View File

@ -40,26 +40,25 @@ import java.util.ResourceBundle;
/**
* Generates the Project Source Code Management report.
*
* @goal scm
*
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
* @version $Id$
* @goal scm
*/
public class ScmReport
extends AbstractMavenReport
{
/**
* Report output directory.
*
* @parameter expression="${project.build.directory}/site"
*
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;
/**
* Doxia Site Renderer.
*
*
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
@ -68,7 +67,7 @@ public class ScmReport
/**
* The Maven Project.
*
*
* @parameter expression="${project}"
* @required
* @readonly
@ -77,7 +76,7 @@ public class ScmReport
/**
* Maven SCM Manager.
*
*
* @parameter expression="${component.org.apache.maven.scm.manager.ScmManager}"
* @required
* @readonly
@ -160,7 +159,9 @@ public class ScmReport
private ScmManager scmManager;
/** To support more SCM */
/**
* To support more SCM
*/
private String anonymousConnection;
private String devConnection;
@ -204,8 +205,7 @@ public class ScmReport
anonymousConnection = scm.getConnection();
devConnection = scm.getDeveloperConnection();
if ( StringUtils.isEmpty( anonymousConnection ) &&
StringUtils.isEmpty( devConnection ) &&
if ( StringUtils.isEmpty( anonymousConnection ) && StringUtils.isEmpty( devConnection ) &&
StringUtils.isEmpty( scm.getUrl() ) )
{
startSection( getTitle() );
@ -216,7 +216,7 @@ public class ScmReport
return;
}
ScmRepository anonymousRepository = getScmRepository( anonymousConnection );
ScmRepository devRepository = getScmRepository( devConnection );
@ -241,7 +241,7 @@ public class ScmReport
/**
* Render the overview section
*
*
* @param anonymousRepository the anonymous repository
*/
private void renderOverViewSection( ScmRepository anonymousRepository )
@ -278,7 +278,7 @@ public class ScmReport
/**
* Render the web access section
*
*
* @param scmUrl The URL to the project's browsable repository.
*/
private void renderWebAccesSection( String scmUrl )
@ -302,15 +302,14 @@ public class ScmReport
/**
* Render the anonymous access section depending the repository.
* <p>Note: ClearCase, Starteam et Perforce seems to have no anonymous access.</>
*
*
* @param anonymousRepository the anonymous repository
*/
private void renderAnonymousAccessSection( ScmRepository anonymousRepository )
{
if ( ( isScmSystem( anonymousRepository, "clearcase" ) )
|| ( isScmSystem( anonymousRepository, "perforce" ) )
|| ( isScmSystem( anonymousRepository, "starteam" ) )
|| ( StringUtils.isEmpty( anonymousConnection ) ) )
if ( ( isScmSystem( anonymousRepository, "clearcase" ) ) ||
( isScmSystem( anonymousRepository, "perforce" ) ) ||
( isScmSystem( anonymousRepository, "starteam" ) ) || ( StringUtils.isEmpty( anonymousConnection ) ) )
{
return;
}
@ -348,7 +347,7 @@ public class ScmReport
/**
* Render the developer access section
*
*
* @param devRepository the dev repository
*/
private void renderDeveloperAccessSection( ScmRepository devRepository )
@ -357,7 +356,7 @@ public class ScmReport
{
return;
}
startSection( getBundle( locale ).getString( "report.scm.devaccess.title" ) );
if ( ( devRepository != null ) && ( isScmSystem( devRepository, "clearcase" ) ) )
@ -410,7 +409,7 @@ public class ScmReport
/**
* Render the access from behind a firewall section
*
*
* @param devRepository the dev repository
*/
private void renderAccessBehindFirewallSection( ScmRepository devRepository )
@ -441,7 +440,7 @@ public class ScmReport
/**
* Render the access from behind a firewall section
*
*
* @param anonymousRepository the anonymous repository
* @param devRepository the dev repository
*/
@ -472,7 +471,7 @@ public class ScmReport
* Create the documentation to provide an developer access with a <code>Clearcase</code> SCM.
* For example, generate the following command line:
* <p>cleartool checkout module</p>
*
*
* @param clearCaseRepo
*/
private void developerAccessClearCase( ClearCaseScmProviderRepository clearCaseRepo )
@ -492,10 +491,9 @@ public class ScmReport
* For example, generate the following command line:
* <p>cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login</p>
* <p>cvs -z3 -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic co maven-plugins/dist</p>
*
* @see <a href="https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115">https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115</a>
*
*
* @param cvsRepo
* @see <a href="https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115">https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115</a>
*/
private void anonymousAccessCVS( CvsScmProviderRepository cvsRepo )
{
@ -515,10 +513,9 @@ public class ScmReport
* For example, generate the following command line:
* <p>cvs -d :pserver:username@cvs.apache.org:/home/cvs login</p>
* <p>cvs -z3 -d :ext:username@cvs.apache.org:/home/cvs co maven-plugins/dist</p>
*
* @see <a href="https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115">https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115</a>
*
*
* @param cvsRepo
* @see <a href="https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115">https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_16.html#SEC115</a>
*/
private void developerAccessCVS( CvsScmProviderRepository cvsRepo )
{
@ -542,10 +539,9 @@ public class ScmReport
* For example, generate the following command line:
* <p>p4 -H hostname -p port -u username -P password path</p>
* <p>p4 -H hostname -p port -u username -P password path submit -c changement</p>
*
* @see <a href="http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html">http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html</>
*
*
* @param perforceRepo
* @see <a href="http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html">http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html</>
*/
private void developerAccessPerforce( PerforceScmProviderRepository perforceRepo )
{
@ -578,7 +574,7 @@ public class ScmReport
* For example, generate the following command line:
* <p>stcmd co -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl -is</p>
* <p>stcmd ci -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl -f NCI -is</p>
*
*
* @param starteamRepo
*/
private void developerAccessStarteam( StarteamScmProviderRepository starteamRepo )
@ -608,10 +604,9 @@ public class ScmReport
* Create the documentation to provide an anonymous access with a <code>SVN</code> SCM.
* For example, generate the following command line:
* <p>svn checkout http://svn.apache.org/repos/asf/maven/components/trunk maven</p>
*
* @see <a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>
*
*
* @param svnRepo
* @see <a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>
*/
private void anonymousAccessSVN( SvnScmProviderRepository svnRepo )
{
@ -628,10 +623,9 @@ public class ScmReport
* For example, generate the following command line:
* <p>svn checkout https://svn.apache.org/repos/asf/maven/components/trunk maven</p>
* <p>svn commit --username your-username -m "A message"</p>
*
* @see <a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>
*
*
* @param svnRepo
* @see <a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>
*/
private void developerAccessSVN( SvnScmProviderRepository svnRepo )
{
@ -653,7 +647,7 @@ public class ScmReport
/**
* Return a <code>SCM repository</code> defined by a given url
*
*
* @param scmUrl an SCM URL
* @return a valid SCM repository or null
*/
@ -681,12 +675,11 @@ public class ScmReport
/**
* Convenience method that return true is the defined <code>SCM repository</code> is a known provider.
* <p>Actually, we fully support Clearcase, CVS, Perforce, Starteam, SVN by the maven-scm-providers component.</p>
*
* @see <a href="http://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-providers/">maven-scm-providers</a>
*
* @param scmRepository a SCM repository
* @param scmProvider a SCM provider name
*
* @param scmRepository a SCM repository
* @param scmProvider a SCM provider name
* @return true if the provider of the given SCM repository is equal to the given scm provider.
* @see <a href="http://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-providers/">maven-scm-providers</a>
*/
private static boolean isScmSystem( ScmRepository scmRepository, String scmProvider )
{

View File

@ -35,26 +35,25 @@ import java.util.ResourceBundle;
/**
* Generates the Project Team report.
*
* @goal project-team
*
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
* @version $Id$
* @goal project-team
*/
public class TeamListReport
extends AbstractMavenReport
{
/**
* Report output directory.
*
* @parameter expression="${project.build.directory}/site"
*
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private String outputDirectory;
/**
* Doxia Site Renderer.
*
*
* @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
* @required
* @readonly
@ -63,7 +62,7 @@ public class TeamListReport
/**
* The Maven Project.
*
*
* @parameter expression="${project}"
* @required
* @readonly
@ -173,7 +172,8 @@ public class TeamListReport
.append( " var now = new Date();\n" )
.append( " var nowTime = now.getTime();\n" )
.append( " var localOffset = now.getTimezoneOffset();\n" )
.append( " var developerTime = nowTime + ( offset * 60 * 60 * 1000 ) + ( localOffset * 60 * 1000 );\n" )
.append(
" var developerTime = nowTime + ( offset * 60 * 60 * 1000 ) + ( localOffset * 60 * 1000 );\n" )
.append( " var developerDate = new Date(developerTime);\n" ).append( "\n" )
.append( " document.getElementById(id).innerHTML = developerDate;\n" ).append( "}\n" )
.append( "\n" )
@ -209,17 +209,8 @@ public class TeamListReport
String actualTime = getBundle( locale ).getString( "report.team-list.developers.actualtime" );
String properties = getBundle( locale ).getString( "report.team-list.developers.properties" );
tableHeader( new String[] {
id,
name,
email,
url,
organization,
organizationUrl,
roles,
timeZone,
actualTime,
properties } );
tableHeader( new String[]{id, name, email, url, organization, organizationUrl, roles, timeZone,
actualTime, properties} );
// To handle JS
int developersRows = 0;
@ -240,7 +231,8 @@ public class TeamListReport
tableCell( developer.getOrganization() );
tableCell( createLinkPatternedText( developer.getOrganizationUrl(), developer.getOrganizationUrl() ) );
tableCell(
createLinkPatternedText( developer.getOrganizationUrl(), developer.getOrganizationUrl() ) );
if ( developer.getRoles() != null )
{
@ -313,16 +305,8 @@ public class TeamListReport
String actualTime = getBundle( locale ).getString( "report.team-list.contributors.actualtime" );
String properties = getBundle( locale ).getString( "report.team-list.contributors.properties" );
tableHeader( new String[] {
name,
email,
url,
organization,
organizationUrl,
roles,
timeZone,
actualTime,
properties } );
tableHeader( new String[]{name, email, url, organization, organizationUrl, roles, timeZone, actualTime,
properties} );
// To handle JS
int contributorsRows = 0;

View File

@ -52,7 +52,7 @@ public class SiteDeployMojo
extends AbstractMojo
{
/**
* @parameter alias="siteDirectory" expression="${project.build.directory}/site"
* @parameter alias="siteDirectory" expression="${project.reporting.outputDirectory}"
* @required
*/
private File inputDirectory;

View File

@ -113,7 +113,7 @@ public class SiteMojo
/**
* Directory containing the generated project sites and report distributions.
*
* @parameter expression="${project.build.directory}/site"
* @parameter expression="${project.reporting.outputDirectory}"
* @required
*/
private File outputDirectory;