blob: 0e9203343c0e9c6764be0811ac47b5d1b11461cf [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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="jar:jar" xmlns:ant="jelly:ant" xmlns:j="jelly:core">
<!-- ==================================================================
- src compilation tweaks
-
- The LICENSE.txt file gets copied to the META-INF dir of the jar
- due to some kind of Maven magic, but we need to copy the
- NOTICE.txt file manually.
================================================================== -->
<postGoal name="java:compile">
<copy todir="${maven.build.dest}/META-INF">
<fileset dir="${basedir}">
<include name="NOTICE.txt"/>
</fileset>
</copy>
</postGoal>
<!-- ==================================================================
- distribution-building tweaks
-
- By default, the "dist" target builds a binary distribution that contains
- the output of all the maven reports. We don't want this; the output
- is huge and not relevant for most users. So before the build-bin
- goal tars/zips the archive dir it has build, we delete the unwanted
- information from it, leaving just the javadoc API info behind.
-
- Yes, it would be more elegant to skip the reports completely
- when running the dist target, but I don't know
- how to do that; if you do, then please fix this file.
-
- The source and binary distributions must also have the
- NOTICE.txt and RELEASE-NOTES.txt files in them, so here we
- copy those manually into the assembly directories.
-
- And finally, by default the src build unpacks into a directory
- name that is the same as the bin distribution. But traditionally
- src distros from apache unpack into a -src directory, so we
- arrange for that too.
================================================================== -->
<preGoal name="dist:build-bin">
<delete includeEmptyDirs="true">
<fileset dir="${maven.dist.bin.assembly.dir}/docs">
<exclude name="apidocs/**"/>
</fileset>
</delete>
<copy todir="${maven.dist.bin.assembly.dir}">
<fileset dir="${basedir}">
<include name="NOTICE.txt"/>
<include name="RELEASE-NOTES.txt"/>
</fileset>
</copy>
</preGoal>
<preGoal name="dist:build-src">
<copy todir="${maven.dist.src.assembly.dir}">
<fileset dir="${basedir}">
<include name="NOTICE.txt"/>
<include name="RELEASE-NOTES.txt"/>
<include name="build.properties.sample"/>
<include name="checkstyle.xml"/>
<include name="file-header.txt"/>
<include name="pom.xml"/>
</fileset>
<fileset dir="${basedir}">
<include name="xdocs/**"/>
</fileset>
</copy>
</preGoal>
<!-- ================================================================== -->
- Create MD5 Check Sums.
<!-- ================================================================== -->
<postGoal name="dist">
<!-- Create a versioned pom -->
<copy file="${basedir}/project.xml" tofile="${maven.dist.dir}/${maven.final.name}.pom"/>
<!-- create checksum for pom -->
<ant:checksum file="${maven.dist.dir}/${maven.final.name}.pom" property="pom.md5"/>
<ant:echo message="${pom.md5} *${maven.final.name}.pom"
file="${maven.dist.dir}/${maven.final.name}.pom.md5" />
<!-- create checksum for jar -->
<ant:checksum file="${maven.build.dir}/${maven.final.name}.jar" property="jar.md5"/>
<ant:echo message="${jar.md5} *${maven.final.name}.jar"
file="${maven.build.dir}/${maven.final.name}.jar.md5" />
<!-- create checksum for binary zip -->
<ant:checksum file="${maven.dist.dir}/${maven.final.name}.zip" property="zip.md5"/>
<ant:echo message="${zip.md5} *${maven.final.name}.zip"
file="${maven.dist.dir}/${maven.final.name}.zip.md5" />
<!-- create checksum for binary tar.gz -->
<ant:checksum file="${maven.dist.dir}/${maven.final.name}.tar.gz" property="tar.gz.md5"/>
<ant:echo message="${tar.gz.md5} *${maven.final.name}.tar.gz"
file="${maven.dist.dir}/${maven.final.name}.tar.gz.md5" />
<!-- create checksum for source zip -->
<ant:checksum file="${maven.dist.dir}/${maven.final.name}-src.zip" property="src.zip.md5"/>
<ant:echo message="${src.zip.md5} *${maven.final.name}-src.zip"
file="${maven.dist.dir}/${maven.final.name}-src.zip.md5" />
<!-- create checksum for source tar.gz -->
<ant:checksum file="${maven.dist.dir}/${maven.final.name}-src.tar.gz" property="src.tar.gz.md5"/>
<ant:echo message="${src.tar.gz.md5} *${maven.final.name}-src.tar.gz"
file="${maven.dist.dir}/${maven.final.name}-src.tar.gz.md5" />
</postGoal>
</project>