252 lines
11 KiB
XML
252 lines
11 KiB
XML
<!--
|
|
Copyright 2002-2004 The Apache Software Foundation
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<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 &copy; ${year} ${pom.organization.name}. All Rights Reserved." />
|
|
|
|
<ant:javadoc
|
|
packagenames="${pom.package}.*"
|
|
destdir="${collections.javadoc.tag.destdir}"
|
|
sourcepath="${taggedSourceDir}"
|
|
access="${collections.javadoc.tag.access}"
|
|
author="true"
|
|
version="true"
|
|
use="true"
|
|
windowtitle="${collections.javadoc.tag.windowtitle}"
|
|
doctitle="${collections.javadoc.tag.windowtitle}"
|
|
bottom="${copyright}"
|
|
stylesheetfile="${maven.javadoc.stylesheet}">
|
|
|
|
<j:if test="${context.getVariable('collections.javadoc.tag.overview') != null}">
|
|
<ant:setProperty name="overview" value="${collections.javadoc.tag.overview}" />
|
|
</j:if>
|
|
|
|
</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" />
|
|
<j:set var="collections.javadoc.tag.overview" value="src/java/org/apache/commons/collections/overview.html" />
|
|
<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" />
|
|
<j:set var="collections.javadoc.tag.overview" value="src/java/org/apache/commons/collections/overview.html" />
|
|
<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>
|
|
|
|
<postGoal name="dist:build-bin">
|
|
<j:set var="distDir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}"/>
|
|
<j:set var="finalName" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}"/>
|
|
<ant:checksum file="${distDir}/${finalName}.tar.gz"/>
|
|
<ant:checksum file="${distDir}/${finalName}.zip"/>
|
|
</postGoal>
|
|
|
|
<postGoal name="dist:build-src">
|
|
<j:set var="distDir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}"/>
|
|
<j:set var="finalName" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}"/>
|
|
<ant:checksum file="${distDir}/${finalName}-src.tar.gz"/>
|
|
<ant:checksum file="${distDir}/${finalName}-src.zip"/>
|
|
</postGoal>
|
|
|
|
</project>
|