git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113861 13f79535-47bb-0310-9956-ffa450edef68
135 lines
4.7 KiB
XML
135 lines
4.7 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<project
|
|
xmlns:j="jelly:core"
|
|
xmlns:maven="jelly:maven"
|
|
xmlns:ant="jelly:ant">
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- P R O J E C T D O C U M E N T A T I O N -->
|
|
<!-- ================================================================== -->
|
|
|
|
<goal name="jdiff" prereqs="xdoc:init"
|
|
description="generate an api difference report between versions">
|
|
|
|
<ant:property name="maven.jdiff.dir" value="${maven.build.dir}/jdiff"/>
|
|
<ant:mkdir dir="${maven.jdiff.dir}"/>
|
|
|
|
<j:set var="docsDest"
|
|
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.docs.dest')}"/>
|
|
<j:set var="javadocDestdir"
|
|
value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven.javadoc.destdir')}"/>
|
|
|
|
<ant:property name="maven.jdiff.changes.dir" value="${docsDest}/jdiff"/>
|
|
<ant:mkdir dir="${maven.jdiff.changes.dir}"/>
|
|
|
|
<ant:condition property="maven.jdiff.new.current" value="true">
|
|
<ant:equals arg1="${maven.jdiff.new.tag}" arg2="CURRENT"/>
|
|
</ant:condition>
|
|
|
|
<ant:condition property="maven.jdiff.old.current" value="true">
|
|
<ant:equals arg1="${maven.jdiff.old.tag}" arg2="CURRENT"/>
|
|
</ant:condition>
|
|
|
|
<maven:makeRelativePath var="relativeSrcDir" basedir="${basedir}" path="${pom.build.sourceDirectory}" />
|
|
<j:choose>
|
|
|
|
<j:when test="${maven.jdiff.new.current}">
|
|
<ant:property name="maven.jdiff.new.src" value="${relativeSrcDir}"/>
|
|
</j:when>
|
|
|
|
<j:otherwise>
|
|
<ant:property name="maven.jdiff.new.dir" value="${maven.jdiff.dir}/${maven.jdiff.new.tag}"/>
|
|
<ant:mkdir dir="${maven.jdiff.new.dir}"/>
|
|
|
|
<maven:makeRelativePath var="mavenRelativeSrcDir" basedir="${basedir}" path="${maven.build.sourceDirectory}" />
|
|
<ant:cvs
|
|
cvsRoot="${pom.repository.cvsRoot}"
|
|
package="${pom.repository.cvsModule}/${mavenRelativeSrcDir}"
|
|
dest="${maven.jdiff.new.dir}"
|
|
tag="${maven.jdiff.new.tag}"
|
|
/>
|
|
<ant:property name="maven.jdiff.new.src"
|
|
value="${maven.jdiff.new.dir}/${pom.repository.cvsModule}/${relativeSrcDir}"/>
|
|
|
|
</j:otherwise>
|
|
</j:choose>
|
|
|
|
<j:choose>
|
|
|
|
<j:when test="${maven.jdiff.old.current}">
|
|
<ant:property name="maven.jdiff.old.src" value="${relativeSrcDir}"/>
|
|
</j:when>
|
|
|
|
<j:otherwise>
|
|
<ant:property name="maven.jdiff.old.dir"
|
|
value="${maven.jdiff.dir}/${maven.jdiff.old.tag}"/>
|
|
<ant:mkdir dir="${maven.jdiff.old.dir}"/>
|
|
|
|
<maven:makeRelativePath var="mavenRelativeSrcDir" basedir="${basedir}" path="${maven.build.sourceDirectory}" />
|
|
<ant:cvs
|
|
cvsRoot="${pom.repository.cvsRoot}"
|
|
package="${pom.repository.cvsModule}/${mavenRelativeSrcDir}"
|
|
dest="${maven.jdiff.old.dir}"
|
|
tag="${maven.jdiff.old.tag}"
|
|
/>
|
|
|
|
<ant:property name="maven.jdiff.old.src"
|
|
value="${maven.jdiff.old.dir}/${pom.repository.cvsModule}/${relativeSrcDir}"/>
|
|
</j:otherwise>
|
|
</j:choose>
|
|
|
|
|
|
<ant:property name="maven.cp.sub" refid="maven-classpath"/>
|
|
<ant:property name="maven.cp" value="${maven.cp.sub};${java.class.path}"/>
|
|
|
|
<ant:property name="baseuri" value="${maven.home}/plugins/jdiff"/>
|
|
|
|
<ant:javadoc
|
|
sourcepath="${maven.jdiff.old.src}"
|
|
packagenames="${pom.package}.*"
|
|
>
|
|
<ant:doclet name="jdiff.JDiff"
|
|
path="${maven.cp}">
|
|
<ant:param name="-apiname" value="${maven.jdiff.old.tag}"/>
|
|
<ant:param name="-baseURI" value="${baseuri}"/>
|
|
</ant:doclet>
|
|
</ant:javadoc>
|
|
|
|
<ant:javadoc
|
|
packagenames="${pom.package}.*"
|
|
sourcepath="${maven.jdiff.new.src}">
|
|
|
|
<ant:doclet name="jdiff.JDiff"
|
|
path="${maven.cp}">
|
|
<ant:param name="-apiname" value="${maven.jdiff.new.tag}"/>
|
|
<ant:param name="-baseURI" value="${baseuri}"/>
|
|
</ant:doclet>
|
|
</ant:javadoc>
|
|
|
|
<ant:javadoc
|
|
private="yes"
|
|
destdir="${maven.jdiff.changes.dir}"
|
|
packagenames="${pom.package}.*"
|
|
sourcepath="${maven.jdiff.new.src}"
|
|
>
|
|
|
|
<ant:doclet name="jdiff.JDiff" path="${maven.cp}">
|
|
<ant:param name="-stats"/>
|
|
<ant:param name="-oldapi" value="${maven.jdiff.old.tag}"/>
|
|
<ant:param name="-newapi" value="${maven.jdiff.new.tag}"/>
|
|
<ant:param name="-javadocnew" value="${javadocDestdir}/"/>
|
|
</ant:doclet>
|
|
|
|
</ant:javadoc>
|
|
|
|
<ant:copy todir="${maven.jdiff.changes.dir}">
|
|
<ant:fileset dir="${maven.home}/plugins/jdiff-maven-plugin-1.0">
|
|
<ant:include name="*.gif"/>
|
|
</ant:fileset>
|
|
</ant:copy>
|
|
|
|
</goal>
|
|
|
|
</project>
|