Added Dependecy Covergence Report

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113723 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
michal committed 2003-07-25 12:32:04 +00:00
1 parent 29b1fa9cac
commit 875ea2ac43
3 files changed
+138 -2

No files matched your search

+57
View File
@@ -210,4 +210,61 @@ maven -Dgoal=clean multiproject:goal</m:param-check>
<attainGoal name="${maven.multiproject.type}:deploy-snapshot"/>
</goal>
<!--==================================================================-->
<!-- Maven Report API - Register -->
<!--==================================================================-->
<goal name="maven-multiproject-plugin:register">
<doc:registerReport
name="Dependency Convergence"
link="dependency-convergence-report"
pluginName="maven-multiproject-plugin"
description="Generate report which shows how consistent are the versions of artitfacts between projects."/>
</goal>
<!--==================================================================-->
<!-- Maven Report API - Deregister -->
<!--==================================================================-->
<goal name="maven-multiproject-plugin:deregister">
<doc:deregisterReport name="Multiproject Dependency Convergence Report"/>
</goal>
<!--==================================================================-->
<!-- Maven Report API - Deregister -->
<!--==================================================================-->
<goal name="maven-multiproject-plugin:report">
<attainGoal name="multiproject:dependency-convergence-report"/>
</goal>
<!--==================================================================-->
<!-- Generate report which shows the harmony of versions of dependencies -->
<!-- which are used in sub-projects -->
<!--==================================================================-->
<goal name="multiproject:dependency-convergence-report"
description="Generate report which shows how consistent are the versions of artitfacts between projects" >
<mkdir dir="${maven.gen.docs}"/>
<!-- FIXME: 2) Needs to be a tag
| get all projects for template processing
| -->
<maven:reactor
basedir="${maven.multiproject.basedir}"
banner="Adding dependencies from:"
includes="${maven.multiproject.includes}"
excludes="${maven.multiproject.excludes}"
postProcessing="true"
ignoreFailures="true"
/>
<j:useBean var="harmonizer" class="org.apache.maven.multiproject.harmonizer.DependencyHarmonizer"/>
${harmonizer.build(reactorProjects)}
<velocity:merge
name="${maven.gen.docs}/dependency-convergence-report.xml"
basedir="${plugin.resources}/templates"
template="dependency-convergence-report.xml"/>
</goal>
</project>
+14 -2
View File
@@ -36,13 +36,25 @@
<dependencies>
<dependency>
<id>commons-jelly+tags-velocity</id>
<groupId>commons-jelly</groupId>
<artifactId>commons-jelly-tags-velocity</artifactId>
<type>jar</type>
<version>20030303.205659</version>
</dependency>
<dependency>
<id>velocity</id>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
<type>jar</type>
<version>1.4-dev</version>
</dependency>
<dependency>
<groupId>maven</groupId>
<artifactId>maven</artifactId>
<type>jar</type>
<version>1.0-beta-10</version>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,67 @@
<?xml version="1.0"?>
<document>
<properties>
<title>Multiproject Dependency Convergence Report</title>
<author email="michal.maczka@dimatics.com">Michal Maczka</author>
</properties>
<body>
<section name="Multiproject Dependency Convergence Report">
<p>
<table>
<tr>
<th>Number of sub-projects:</th>
<td>${harmonizer.NumberOfProjects}</td>
</tr>
<tr>
<th>Number of dependencies (NOD):</th>
<td>${harmonizer.NumberOfDependencies}</td>
</tr>
<tr>
<th>Number of artitacts (NOA):</th>
<td>${harmonizer.NumberOfArtifacts}</td>
</tr>
<tr>
<th>Convergence (NOD/NOA):</th>
<td><b>${harmonizer.Convergence}</b></td>
</tr>
</table>
</p>
<p>
Dependencies used in sub-projects:
#foreach ($dep in $harmonizer.Dependencies)
<subsection name="${dep.Id}">
<table>
<tr>
#if( $dep.Clean )
<td><img src="images/icon_success_sml.gif"/></td>
#else
<td><img src="images/icon_error_sml.gif"/></td>
#end
<td>
<table>
#foreach ($version in $dep.Versions)
<tr>
<td width="20%">${version}</td>
<td>
<ol>
#foreach ($project in $dep.getProjects(${version}))
#if ( $project.Url )
<li><a href="${project.Url}">${project.Id}</a></li>
#else
<li>${project.Id}</li>
#end
#end
</ol>
</td>
</tr>
#end
</table>
</td>
</tr>
</table>
</subsection>
#end
</p>
</section>
</body>
</document>