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:
1 parent
29b1fa9cac
commit
875ea2ac43
3 files changed
+138
-2
No files matched your search
@@ -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>
|
||||
@@ -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>
|
||||
Reference in new issue
Block a user