commons-collections/maven.xml

217 lines
9.5 KiB
XML

<project
default="java:jar"
xmlns:j="jelly:core"
xmlns:license="license"
xmlns:maven="jelly:maven"
xmlns:util="jelly:util"
xmlns:ant="jelly:ant">
<postGoal name="clover:on">
<j:set var="maven.junit.sysproperties" value="${maven.junit.sysproperties} org.apache.commons.collections:with-clover"/>
<j:set var="org.apache.commons.collections:with-clover" value="true"/>
</postGoal>
<!-- ============== JAR ================== -->
<postGoal name="jar:jar">
<j:set var="finalName" value="${pom.getPluginContext('maven-jar-plugin').getVariable('maven.final.name')}"/>
<j:set var="finalVersion" value="${finalName.substring(20)}" />
<j:set var="testfwkBase" value="${pom.artifactId}-testframework" />
<j:set var="testfwkName" value="${testfwkBase}-${finalVersion}" />
<ant:jar
jarfile="${maven.build.dir}/${testfwkName}.jar">
<j:set var="licenseFileName"><license:fileName/></j:set>
<util:file name="${licenseFileName}" var="licenseFile"/>
<ant:metainf dir="${licenseFile.canonicalFile.parent}">
<ant:include name="${licenseFile.canonicalFile.name}"/>
</ant:metainf>
<ant:manifest>
<ant:attribute name="Built-By" value="${user.name}"/>
<ant:attribute name="Created-By" value="Apache Jakarta Maven"/>
<ant:attribute name="Package" value="${pom.package}"/>
<ant:attribute name="Build-Jdk" value="${java.version}"/>
<!-- added supplementary entries -->
<ant:attribute name="Extension-Name" value="Commons Collections Test Framework"/>
<ant:attribute name="Specification-Version" value="${pom.specificationVersion}"/>
<ant:attribute name="Specification-Vendor" value="${pom.organization.name}"/>
<ant:attribute name="Specification-Title" value="Commons Collections Test Framework"/>
<ant:attribute name="Implementation-Version" value="${pom.currentVersion}"/>
<ant:attribute name="Implementation-Vendor" value="${pom.organization.name}"/>
<ant:attribute name="Implementation-Vendor-Id" value="${pom.organization.identifier}"/>
</ant:manifest>
<ant:fileset dir="${maven.build.dir}/test-classes">
<ant:include name="**/AbstractTest*.class"/>
<ant:include name="**/BulkTest*.class"/>
</ant:fileset>
</ant:jar>
</postGoal>
<postGoal name="jar:install">
<j:set var="finalName" value="${pom.getPluginContext('maven-jar-plugin').getVariable('maven.final.name')}"/>
<j:set var="finalVersion" value="${finalName.substring(20)}" />
<j:set var="testfwkBase" value="${pom.artifactId}-testframework" />
<j:set var="testfwkName" value="${testfwkBase}-${finalVersion}" />
<ant:property name="jardir__" value="${maven.repo.local}/${pom.artifactDirectory}/jars"/>
<ant:mkdir dir="${jardir__}"/>
<ant:copy
file="${maven.build.dir}/${testfwkName}.jar"
todir="${jardir__}"
overwrite="true" />
</postGoal>
<postGoal name="jar:install-snapshot">
<j:set var="finalName" value="${pom.getPluginContext('maven-jar-plugin').getVariable('maven.final.name')}"/>
<j:set var="finalVersion" value="${finalName.substring(20)}" />
<j:set var="testfwkBase" value="${pom.artifactId}-testframework" />
<j:set var="testfwkName" value="${testfwkBase}-${finalVersion}" />
<ant:property name="jardir__" value="${maven.repo.local}/${pom.artifactDirectory}/jars"/>
<ant:mkdir dir="${jardir__}"/>
<ant:copy
file="${maven.build.dir}/${testfwkName}.jar"
tofile="${jardir__}/${testfwkBase}-SNAPSHOT.jar"
overwrite="true" />
<ant:copy
file="${maven.build.dir}/${testfwkName}.jar"
tofile="${jardir__}/${testfwkName}.jar" />
</postGoal>
<!-- ============== JAVADOC PREVIOUS VERSIONS ================== -->
<postGoal name="javadoc:generate">
<!-- This is a postGoal because we need data from the javadoc plugin which I can't get another way -->
<!-- description="Retrieves a tagged version of the source and generates the javadoc"-->
<j:if test="${context.getVariable('collections.javadoc.tag') == null}">
<ant:echo message="The collections.javadoc.tag property must be set for javadoc:tag" />
</j:if>
<j:if test="${context.getVariable('collections.javadoc.tag') != null}">
<ant:echo message="Generate javadoc for ${collections.javadoc.tag}" />
<!-- not in javadoc plugin, so have to setup properties -->
<j:set var="maven.javadoc.destdir" value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven.javadoc.destdir')}" />
<j:set var="maven.javadoc.stylesheet" value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven.javadoc.stylesheet')}" />
<j:set var="collections.javadoc.tag.destdir" value="${maven.javadoc.destdir}-${collections.javadoc.tag}"/>
<j:set var="collections.javadoc.tag.stylesheet" value="${maven.javadoc.stylesheet}"/>
<j:set var="taggedBaseDir" value="${maven.build.dir}/javadoc/${collections.javadoc.tag}" />
<ant:mkdir dir="${taggedBaseDir}" />
<maven:makeRelativePath var="relativeSrcDir" basedir="${basedir}" path="${pom.build.sourceDirectory}" />
<util:replace var="relativeSrcDir" oldChar="\" newChar="/" value="${relativeSrcDir}" />
<j:set var="taggedSourceDir" value="${taggedBaseDir}/${pom.repository.cvsModule}/${relativeSrcDir}"/>
<ant:cvs
cvsRoot="${pom.repository.cvsRoot}"
package="${pom.repository.cvsModule}/${relativeSrcDir}"
dest="${taggedBaseDir}"
tag="${collections.javadoc.tag}" />
<ant:mkdir dir="${collections.javadoc.tag.destdir}" />
<ant:tstamp>
<ant:format property="currentYear" pattern="yyyy"/>
</ant:tstamp>
<ant:tstamp>
<j:choose>
<j:when test="${pom.inceptionYear.equals(currentYear)}">
<ant:format property="year" pattern="yyyy"/>
</j:when>
<j:otherwise>
<ant:format property="year" pattern="${pom.inceptionYear}-yyyy"/>
</j:otherwise>
</j:choose>
</ant:tstamp>
<j:set var="copyright" value="Copyright &amp;copy; ${year} ${pom.organization.name}. All Rights Reserved." />
<ant:javadoc
packagenames="${pom.package}.*"
destdir="${collections.javadoc.tag.destdir}"
sourcepath="${taggedSourceDir}"
author="true"
protected="true"
version="true"
use="true"
windowtitle="${collections.javadoc.tag.windowtitle}"
doctitle="${collections.javadoc.tag.windowtitle}"
bottom="${copyright}"
stylesheetfile="${maven.javadoc.stylesheet}">
</ant:javadoc>
</j:if>
</postGoal>
<postGoal name="site:run-reports"><!-- OLD MAVEN -->
<j:set var="collections.javadoc.tag" value="COLLECTIONS_2_1" />
<j:set var="collections.javadoc.tag.windowtitle" value="Collections 2.1 release API" />
<attainGoal name="javadoc:generate" />
<j:set var="collections.javadoc.tag" value="COLLECTIONS_3_0" />
<j:set var="collections.javadoc.tag.windowtitle" value="Collections 3.0 release API" />
<attainGoal name="javadoc:generate" />
</postGoal>
<postGoal name="site:generate"><!-- NEW MAVEN -->
<j:set var="collections.javadoc.tag" value="COLLECTIONS_2_1" />
<j:set var="collections.javadoc.tag.windowtitle" value="Collections 2.1 release API" />
<attainGoal name="javadoc:generate" />
<j:set var="collections.javadoc.tag" value="COLLECTIONS_3_0" />
<j:set var="collections.javadoc.tag.windowtitle" value="Collections 3.0 release API" />
<attainGoal name="javadoc:generate" />
</postGoal>
<!-- ============== DIST ================== -->
<postGoal name="dist:prepare-bin-filesystem">
<j:set var="maven.dist.bin.assembly.dir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.bin.assembly.dir')}" />
<!-- Copy Files -->
<ant:copy todir="${maven.dist.bin.assembly.dir}">
<ant:fileset dir=".">
<ant:include name="RELEASE-NOTES.html"/>
</ant:fileset>
</ant:copy>
<!-- Copy Jars -->
<ant:copy todir="${maven.dist.bin.assembly.dir}">
<ant:fileset dir="${maven.build.dir}">
<ant:include name="*testframework*.jar"/>
</ant:fileset>
</ant:copy>
<!-- Delete tagged old release documentation -->
<ant:delete includeEmptyDirs="true">
<ant:fileset dir="${maven.dist.bin.assembly.dir}/docs" includes="apidocs-*/**" />
</ant:delete>
</postGoal>
<postGoal name="dist:prepare-src-filesystem">
<j:set var="maven.dist.src.assembly.dir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.src.assembly.dir')}" />
<!-- Copy Files -->
<ant:copy todir="${maven.dist.src.assembly.dir}">
<ant:fileset dir=".">
<ant:include name="RELEASE-NOTES.html"/>
<ant:include name="DEVELOPERS-GUIDE.html"/>
<ant:include name="PROPOSAL.html"/>
<ant:include name="STATUS.html"/>
<ant:include name="build.properties.sample"/>
</ant:fileset>
</ant:copy>
<!-- Copy Jars -->
<ant:copy todir="${maven.dist.src.assembly.dir}">
<ant:fileset dir="${maven.build.dir}">
<ant:include name="*.jar"/>
</ant:fileset>
</ant:copy>
<!-- Copy XDocs -->
<ant:copy todir="${maven.dist.src.assembly.dir}/xdocs">
<ant:fileset dir="xdocs" />
</ant:copy>
<!-- Copy Test Data -->
<ant:copy todir="${maven.dist.src.assembly.dir}/data">
<ant:fileset dir="data" />
</ant:copy>
</postGoal>
</project>