o Add new report deregister goal, modify register goal for slightly modified report method

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112977 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
bwalding 2003-02-23 15:57:06 +00:00
parent 7ade43c7a6
commit 9873992dfe
16 changed files with 187 additions and 92 deletions

View File

@ -9,10 +9,15 @@
<goal name="maven-changelog-plugin:register"> <goal name="maven-changelog-plugin:register">
<doc:registerReport <doc:registerReport
name="Change Log" name="Change Log"
pluginName="maven-changelog-plugin"
link="changelog-report" link="changelog-report"
description="Report on the source control changelog."/> description="Report on the source control changelog."/>
</goal> </goal>
<goal name="maven-changelog-plugin:deregister">
<doc:deregisterReport name="Change Log"/>
</goal>
<define:taglib uri="changelog"> <define:taglib uri="changelog">
<define:jellybean <define:jellybean
name="changelog" name="changelog"

View File

@ -8,10 +8,15 @@
<goal name="maven-checkstyle-plugin:register"> <goal name="maven-checkstyle-plugin:register">
<doc:registerReport <doc:registerReport
name="Checkstyle" name="Checkstyle"
pluginName="maven-checkstyle-plugin"
link="checkstyle-report" link="checkstyle-report"
description="Report on coding style conventions."/> description="Report on coding style conventions."/>
</goal> </goal>
<goal name="maven-checkstyle-plugin:deregister">
<doc:deregisterReport name="Checkstyle"/>
</goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- C H E C K S T Y L E --> <!-- C H E C K S T Y L E -->
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -37,10 +37,15 @@
<goal name="maven-clover-plugin:register"> <goal name="maven-clover-plugin:register">
<doc:registerReport <doc:registerReport
name="Clover" name="Clover"
pluginName="maven-clover-plugin"
link="clover/index" link="clover/index"
description="Clover test coverage report."/> description="Clover test coverage report."/>
</goal> </goal>
<goal name="maven-clover-plugin:deregister">
<doc:deregisterReport name="Clover"/>
</goal>
<goal name="maven-clover-plugin:report"> <goal name="maven-clover-plugin:report">
<attainGoal name="clover:html-report"/> <attainGoal name="clover:html-report"/>
</goal> </goal>

View File

@ -9,10 +9,15 @@
<goal name="maven-developer-activity-plugin:register"> <goal name="maven-developer-activity-plugin:register">
<doc:registerReport <doc:registerReport
name="Developer Activity" name="Developer Activity"
pluginName="maven-developer-activity-plugin"
link="developer-activity-report" link="developer-activity-report"
description="Report on the amount of developer activity."/> description="Report on the amount of developer activity."/>
</goal> </goal>
<goal name="maven-developer-activity-plugin:deregister">
<doc:deregisterReport name="Developer Activity"/>
</goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- D E V E L O P E R A C T I V I T Y R E P O R T --> <!-- D E V E L O P E R A C T I V I T Y R E P O R T -->
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -9,10 +9,15 @@
<goal name="maven-file-activity-plugin:register"> <goal name="maven-file-activity-plugin:register">
<doc:registerReport <doc:registerReport
name="File Activity" name="File Activity"
pluginName="maven-file-activity-plugin"
link="file-activity-report" link="file-activity-report"
description="Report on file activity."/> description="Report on file activity."/>
</goal> </goal>
<goal name="maven-file-activity-plugin:deregister">
<doc:deregisterReport name="File Activity"/>
</goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- F I L E A C T I V I T Y R E P O R T --> <!-- F I L E A C T I V I T Y R E P O R T -->
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -9,15 +9,22 @@
<j:if test="${sourcesPresent}"> <j:if test="${sourcesPresent}">
<doc:registerReport <doc:registerReport
name="JavaDocs" name="JavaDocs"
pluginName="maven-javadoc-plugin"
link="apidocs/index" link="apidocs/index"
description="JavaDoc API documentation."/> description="JavaDoc API documentation."/>
<doc:registerReport <doc:registerReport
name="JavaDoc Report" name="JavaDoc Report"
pluginName="maven-javadoc-plugin"
link="javadoc" link="javadoc"
description="Report on the generation of JavaDoc."/> description="Report on the generation of JavaDoc."/>
</j:if> </j:if>
</goal> </goal>
<goal name="maven-javadoc-plugin:deregister">
<doc:deregisterReport name="JavaDocs"/>
<doc:deregisterReport name="JavaDoc Report"/>
</goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- J A V A D O C S --> <!-- J A V A D O C S -->
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -5,10 +5,15 @@
<goal name="maven-jdepend-plugin:register"> <goal name="maven-jdepend-plugin:register">
<doc:registerReport <doc:registerReport
name="Metrics" name="Metrics"
pluginName="maven-jdepend-plugin"
link="jdepend-report" link="jdepend-report"
description="Report on source code metrics."/> description="Report on source code metrics."/>
</goal> </goal>
<goal name="maven-jdepend-plugin:deregister">
<doc:deregisterReport name="Metrics"/>
</goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- J D E P E N D X M L T A R G E T --> <!-- J D E P E N D X M L T A R G E T -->
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -9,10 +9,15 @@
<goal name="maven-jellydoc-plugin:register"> <goal name="maven-jellydoc-plugin:register">
<doc:registerReport <doc:registerReport
name="Jelly Tag Documentation" name="Jelly Tag Documentation"
pluginName="maven-jellydoc-plugin"
link="tags" link="tags"
description="Jelly Tag Documentation."/> description="Jelly Tag Documentation."/>
</goal> </goal>
<goal name="maven-jellydoc-plugin:deregister">
<doc:deregisterReport name="Jelly Tag Documentation"/>
</goal>
<goal name="maven-jellydoc-plugin:report" <goal name="maven-jellydoc-plugin:report"
prereqs="jellydoc" prereqs="jellydoc"
description="Generates the tag documentation"/> description="Generates the tag documentation"/>

View File

@ -7,8 +7,13 @@
<goal name="maven-junit-report-plugin:register"> <goal name="maven-junit-report-plugin:register">
<doc:registerReport <doc:registerReport
name="Unit Tests" name="Unit Tests"
link="junit-report" pluginName="maven-junit-report-plugin"
description="Report on the results of the unit tests."/> description="Report on the results of the unit tests."
link="junit-report"/>
</goal>
<goal name="maven-junit-report-plugin:deregister">
<doc:deregisterReport name="Unit Tests"/>
</goal> </goal>
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -10,17 +10,24 @@
<j:if test="${sourcesPresent}"> <j:if test="${sourcesPresent}">
<doc:registerReport <doc:registerReport
name="Source Xref" name="Source Xref"
pluginName="maven-jxr-plugin"
link="xref/index" link="xref/index"
description="A set of browsable cross-referenced sources."/> description="A set of browsable cross-referenced sources."/>
<j:if test="${unitTestSourcesPresent}"> <j:if test="${unitTestSourcesPresent}">
<doc:registerReport <doc:registerReport
name="Test Xref" name="Test Xref"
pluginName="maven-jxr-plugin"
link="xref-test/index" link="xref-test/index"
description="A set of browsable cross-referenced test sources."/> description="A set of browsable cross-referenced test sources."/>
</j:if> </j:if>
</j:if> </j:if>
</goal> </goal>
<goal name="maven-jxr-plugin:deregister">
<doc:deregisterReport name="Source Xref"/>
<doc:deregisterReport name="Test Xref"/>
</goal>
<define:taglib uri="jxr"> <define:taglib uri="jxr">
<define:jellybean <define:jellybean
name="jxr" name="jxr"

View File

@ -48,10 +48,15 @@
<goal name="maven-license-plugin:register"> <goal name="maven-license-plugin:register">
<doc:registerReport <doc:registerReport
name="Project License" name="Project License"
pluginName="maven-license-plugin"
link="license" link="license"
description="Displays the primary license for the project."/> description="Displays the primary license for the project."/>
</goal> </goal>
<goal name="maven-license-plugin:deregister">
<doc:deregisterReport name="Project License"/>
</goal>
<goal name="maven-license-plugin:report" <goal name="maven-license-plugin:report"
description="Generate an XML file from the license.txt"> description="Generate an XML file from the license.txt">
<attainGoal name="license"/> <attainGoal name="license"/>

View File

@ -10,12 +10,15 @@
<property name="maven.gen.docs" value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.gen.docs')}"/> <property name="maven.gen.docs" value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.gen.docs')}"/>
<goal name="maven-linkcheck-plugin:register"> <goal name="maven-linkcheck-plugin:register">
<j:if test="${context.getVariable('maven.mode.online') == null}">
<doc:registerReport <doc:registerReport
name="Link Check Report" name="Link Check Report"
pluginName="maven-linkcheck-plugin"
link="linkcheck" link="linkcheck"
description="Report on the validity of all links in the documentation."/> description="Report on the validity of all links in the documentation."/>
</j:if> </goal>
<goal name="maven-linkcheck-plugin:deregister">
<doc:deregisterReport name="Link Check Report"/>
</goal> </goal>
<define:taglib uri="linkcheck"> <define:taglib uri="linkcheck">
@ -40,7 +43,18 @@
</goal> </goal>
<postGoal name="xdoc:jelly-transform"> <postGoal name="xdoc:jelly-transform">
<j:set var="reports" value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('reports')}"/>
<j:set var="context" value="${pom.getPluginContext('maven-xdoc-plugin')}"/>
<j:set var="online">${maven.mode.online}</j:set>
<j:if test="${online.trim().length() > 0}">
<j:forEach var="report" items="${reports}">
<j:if test="${report.get('pluginName').equals('maven-linkcheck-plugin')}">
<attainGoal name="maven-linkcheck-plugin:report-real"/> <attainGoal name="maven-linkcheck-plugin:report-real"/>
</j:if>
</j:forEach>
</j:if>
</postGoal> </postGoal>
<goal <goal

View File

@ -16,61 +16,26 @@
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.docs.dest')}"/> value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.docs.dest')}"/>
</goal> </goal>
<goal <goal
name="site" name="site"
description="Generate the web site"> description="Generate the web site">
<j:choose> <attainGoal name="site:run-reports"/>
<j:when test="${!pom.reports.isEmpty()}">
<j:forEach var="report" items="${pom.reports}">
<j:set var="reportGoal" value="${report}:report"/>
<echo>Generating the ${report} ... </echo>
<attainGoal name="${reportGoal}"/>
</j:forEach>
</j:when>
<j:otherwise>
<attainGoal name="maven-jdepend-plugin:report"/>
<attainGoal name="maven-checkstyle-plugin:report"/>
<attainGoal name="maven-changelog-plugin:report"/>
<attainGoal name="maven-developer-activity-plugin:report"/>
<attainGoal name="maven-file-activity-plugin:report"/>
<!--
<attainGoal name="maven-license-plugin:report"/>
-->
<attainGoal name="maven-javadoc-plugin:report"/>
<attainGoal name="maven-jxr-plugin:report"/>
<attainGoal name="maven-junit-report-plugin:report"/>
<attainGoal name="maven-linkcheck-plugin:report"/>
<attainGoal name="maven-tasklist-plugin:report"/>
</j:otherwise>
</j:choose>
<attainGoal name="xdoc"/> <attainGoal name="xdoc"/>
</goal> </goal>
<goal name="dyna-site"> <goal name="site:run-reports" prereqs="xdoc:register-reports">
<j:set var="reports"
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('reports')}"/>
<!-- <j:forEach var="report" items="${reports}">
| <echo>Generating the ${report.get('name')}... ${report}</echo>
| What we have listed are the ids of the plugins that can produce <attainGoal name="${report.get('pluginName')}:report"/>
| reports. So say we have:
|
| <reports>
|
| <report>maven-file-activity</report>
| <report>maven-developer-activity</report>
| </reports>
|
-->
<j:forEach var="report" items="${pom.reports}">
<j:set var="reportGoal" value="${report}:report"/>
<echo>Generating the ${report} ... </echo>
<attainGoal name="${reportGoal}"/>
</j:forEach> </j:forEach>
</goal> </goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- S I T E D E P L O Y --> <!-- S I T E D E P L O Y -->
<!-- ================================================================== --> <!-- ================================================================== -->
@ -97,8 +62,6 @@
--> -->
<attainGoal name="site:${maven.site.deploy.method}deploy"/> <attainGoal name="site:${maven.site.deploy.method}deploy"/>
</goal> </goal>
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -20,10 +20,15 @@
<goal name="maven-statcvs-plugin:register"> <goal name="maven-statcvs-plugin:register">
<doc:registerReport <doc:registerReport
name="StatCVS Report" name="StatCVS Report"
pluginName="maven-statcvs-plugin"
link="statcvs/index" link="statcvs/index"
description="Show some statistics about the CVS repository"/> description="Show some statistics about the CVS repository"/>
</goal> </goal>
<goal name="maven-statcvs-plugin:deregister">
<doc:deregisterReport name="StatCVS Report"/>
</goal>
<goal name="maven-statcvs-plugin:report"> <goal name="maven-statcvs-plugin:report">
<attainGoal name="statcvs"/> <attainGoal name="statcvs"/>
</goal> </goal>

View File

@ -8,10 +8,15 @@
<goal name="maven-tasklist-plugin:register"> <goal name="maven-tasklist-plugin:register">
<doc:registerReport <doc:registerReport
name="Task List" name="Task List"
pluginName="maven-tasklist-plugin"
link="task-list" link="task-list"
description="Report on tasks specified in the source code."/> description="Report on tasks specified in the source code."/>
</goal> </goal>
<goal name="maven-tasklist-plugin:deregister">
<doc:deregisterReport name="Task List"/>
</goal>
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- T A S K C R E A T I O N --> <!-- T A S K C R E A T I O N -->
<!-- ================================================================== --> <!-- ================================================================== -->

View File

@ -10,20 +10,55 @@
xmlns:velocity="jelly:org.apache.commons.jelly.tags.velocity.VelocityTagLibrary" xmlns:velocity="jelly:org.apache.commons.jelly.tags.velocity.VelocityTagLibrary"
xmlns:doc="doc"> xmlns:doc="doc">
<j:new var="reports" className="java.util.ArrayList"/>
<define:taglib uri="doc"> <define:taglib uri="doc">
<define:tag name="deregisterReport">
<define:tag name="registerReport"> <!-- @name : Report to deregister, must be same as name used to register -->
<j:set <j:set
var="reports" var="reports"
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('reports')}"/> value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('reports')}"/>
<j:set var="removeRpt" value="null"/>
<j:forEach var="rpt" items="${reports}">
<j:if test="${rpt.get('name').equals(name)}">
<j:set var="removeRpt" value="${rpt}"/>
</j:if>
</j:forEach>
<j:if test="${removeRpt != null}">
<j:set var="dummy" value="${reports.remove(removeRpt)}"/>
</j:if>
</define:tag>
<define:tag name="registerReport">
<!--
@name the name of this report. Used for navigation items
@plugin-name the name of the plugin. @plugin:report goal must exist
@description text description of report
@link the nav-bar link for this report
-->
<j:set
var="reports"
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('reports')}"/>
<j:set var="add" value="true"/>
<j:forEach var="rpt" items="${reports}">
<j:if test="${rpt.get('name').equals(name)}">
<j:set var="add" value="false"/>
</j:if>
</j:forEach>
<j:if test="${add.equals('true')}">
<j:new var="report" className="java.util.HashMap"/> <j:new var="report" className="java.util.HashMap"/>
<j:set var="dummy" value="${report.put('name', name)}"/> <j:set var="dummy" value="${report.put('name', name)}"/>
<j:set var="dummy" value="${report.put('link', link)}"/> <j:set var="dummy" value="${report.put('pluginName', pluginName)}"/>
<j:set var="dummy" value="${report.put('description', description)}"/> <j:set var="dummy" value="${report.put('description', description)}"/>
<j:set var="dummy" value="${report.put('link', link)}"/>
<j:set var="dummy" value="${reports.add(report)}"/> <j:set var="dummy" value="${reports.add(report)}"/>
<echo>${report}</echo>
</j:if>
</define:tag> </define:tag>
@ -316,7 +351,6 @@
<j:useBean var="files" class="org.apache.velocity.texen.util.FileUtil"/> <j:useBean var="files" class="org.apache.velocity.texen.util.FileUtil"/>
<j:forEach var="pomDocument" items="${pomDocuments}"> <j:forEach var="pomDocument" items="${pomDocuments}">
<velocity:merge <velocity:merge
name="${maven.gen.docs}/${pomDocument}" name="${maven.gen.docs}/${pomDocument}"
basedir="${plugin.resources}/templates" basedir="${plugin.resources}/templates"
@ -505,31 +539,35 @@
</tstamp> </tstamp>
</goal> </goal>
<goal name="xdoc:register-reports"> <goal name="xdoc:register-reports">
<!--
| This should be a LinkedHashSet to prevent someone from
| registering somthing twice. Unfortunately, 1.3 does not
| have a LinkedHashSet so I'll leave this here as a reminder
| for us someday. In the meantime, each time this goal is called,
| we'll just replace the old List with a new one. Shouldn't cause
| any problmes. When we do actually use the Set, we can put a check
| to see if 'reports' already exists, and if so, do nothing.
| <j:new var="reports" className="java.util.LinkedHashSet"/>
|-->
<j:new var="reports" className="java.util.ArrayList"/>
<j:set var="dummy" value="${pom.getPluginContext('maven-xdoc-plugin').setVariable('reports', reports)}"/>
<!-- <!--
| We need to have each <report> register itself with us so we can | We need to have each <report> register itself with us so we can
| build up our navbar. To do this, we call the plugin:register | build up our navbar. To do this, we call the plugin:register
| goal on each report plugin. | goal on each report plugin.
|--> |-->
<j:if test="${!pom.reports.isEmpty()}">
<j:forEach var="report" items="${pom.reports}"> <j:forEach var="report" items="${pom.reports}">
<j:set var="reportGoal" value="${report}:register"/> <attainGoal name="${report}:register"/>
<echo>${report} is registering with the xdoc plugin ... </echo>
<attainGoal name="${reportGoal}"/>
</j:forEach> </j:forEach>
</j:if>
<!-- If the descriptor is empty, use these as defaults -->
<j:if test="${pom.reports.isEmpty()}">
<attainGoal name="maven-jdepend-plugin:register"/>
<attainGoal name="maven-checkstyle-plugin:register"/>
<attainGoal name="maven-changelog-plugin:register"/>
<attainGoal name="maven-developer-activity-plugin:register"/>
<attainGoal name="maven-file-activity-plugin:register"/>
<attainGoal name="maven-license-plugin:register"/>
<attainGoal name="maven-javadoc-plugin:register"/>
<attainGoal name="maven-jxr-plugin:register"/>
<attainGoal name="maven-junit-report-plugin:register"/>
<attainGoal name="maven-linkcheck-plugin:register"/>
<attainGoal name="maven-tasklist-plugin:register"/>
</j:if>
</goal> </goal>
<goal name="xdoc:jelly-transform" <goal name="xdoc:jelly-transform"
@ -589,4 +627,15 @@
destdir="${maven.docs.dest}"/> destdir="${maven.docs.dest}"/>
</goal> </goal>
<goal name="xdoc:dump-report-settings">
<echo>Dumping report settings</echo>
<j:set
var="reports"
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('reports')}"/>
<j:forEach var="report" items="${reports}">
<echo>Report: ${report}</echo>
</j:forEach>
</goal>
</project> </project>