<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Copyright 2003-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. | |
--> | |
<!-- $Rev: 330371 $ $Date: 2005-11-02 16:57:37 -0500 (Wed, 02 Nov 2005) $ --> | |
<project default="default" | |
xmlns:j="jelly:core" | |
xmlns:u="jelly:util" | |
xmlns:ant="jelly:ant" | |
xmlns:maven="jelly:maven" | |
xmlns:define="jelly:define" | |
xmlns:velocity="jelly:velocity" | |
> | |
<!-- ================= --> | |
<!-- Global Properties --> | |
<!-- ================= --> | |
<!-- Determine what the top-level project root is --> | |
<j:set var="project.root" value="${pom.parentBasedir().getParentFile().getCanonicalFile()}"/> | |
<!-- ==================== --> | |
<!-- Default Global Goals --> | |
<!-- ==================== --> | |
<goal name="default"> | |
<attainGoal name="jar:install"/> | |
</goal> | |
<goal name="build"> | |
<attainGoal name="default"/> | |
</goal> | |
<goal name="rebuild"> | |
<attainGoal name="clean"/> | |
<attainGoal name="build"/> | |
</goal> | |
<!-- For testing --> | |
<goal name="hello"> | |
<ant:echo> | |
H E L L O | |
--------- | |
Module Name ${pom.name} [${pom.currentVersion}] | |
Axis2: ${axis2_version} | |
</ant:echo> | |
</goal> | |
<postGoal name="java:prepare-filesystem"> | |
<u:file var="file" name="${maven.home}/lib/jalopy.jar"/> | |
<j:if test="${file.exists()}"> | |
<ant:path id="jalopy.library"> | |
<ant:fileset dir="${maven.home}/lib"> | |
<ant:include name="jalopy.jar"/> | |
</ant:fileset> | |
</ant:path> | |
<maven:addPath id="maven.dependency.classpath" refid="jalopy.library"/> | |
</j:if> | |
</postGoal> | |
<!-- Remove classes which depend on changed files, so they will rebuild. --> | |
<!-- TODO: Fix me | |
<preGoal name="java:compile"> | |
<j:if test="${sourcesPresent}"> | |
<ant:depend srcdir="${maven.compile.source}" | |
destdir="${maven.build.dest}" | |
dump="false" | |
closure="false"> | |
<j:forEach var="sm" items="${pom.build.sourceModifications}"> | |
<ant:available property="classPresent" classname="${sm.className}"/> | |
<j:if test="${classPresent != 'true'}"> | |
<j:forEach var="exclude" items="${sm.excludes}"> | |
<ant:exclude name="${exclude}"/> | |
</j:forEach> | |
<j:forEach var="include" items="${sm.includes}"> | |
<ant:include name="${include}"/> | |
</j:forEach> | |
</j:if> | |
</j:forEach> | |
</ant:depend> | |
</j:if> | |
</preGoal> | |
--> | |
<!-- Construct dependency lists for inclusion in generated jar. --> | |
<!-- putting this goal here produces a circular dependency --> | |
<!-- Remove the log files --> | |
<goal name="clobber" | |
description="Removes all (non-repository installed) build generated files"> | |
<!-- Let clean:clean do some work first --> | |
<attainGoal name="clean:clean"/> | |
<j:jelly xmlns="jelly:ant"> | |
<delete quiet="false" failonerror="false"> | |
<fileset dir="${basedir}"> | |
<include name="maven.log"/> | |
<include name="velocity.log*"/> | |
<include name="junit*.properties"/> | |
</fileset> | |
</delete> | |
</j:jelly> | |
</goal> | |
<!-- Cleanse source files --> | |
<goal name="cleanse-sources" | |
description="Cleanse source files, removing tabs and translating CRLF -> LF"> | |
<j:scope xmlns="jelly:ant"> | |
<!-- Cleanse sources --> | |
<j:set var="srcdir" value="${basedir}/src/java"/> | |
<u:available file=""> | |
<fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove" tablength="4"> | |
<include name="**/*.java"/> | |
</fixcrlf> | |
<fixcrlf srcdir="${basedir}" eol="lf" eof="remove" tab="remove" tablength="4"> | |
<include name="**/*.xml"/> | |
<include name="**/*.html"/> | |
</fixcrlf> | |
</u:available> | |
<!-- Cleanse test sources --> | |
<j:set var="srcdir" value="${basedir}/src/test"/> | |
<u:available file="${srcdir}"> | |
<fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove" tablength="4"> | |
<include name="**/*.java"/> | |
<include name="**/*.xml"/> | |
<include name="**/*.html"/> | |
</fixcrlf> | |
<fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove" tablength="4"> | |
<include name="**/*.xml"/> | |
<include name="**/*.html"/> | |
</fixcrlf> | |
</u:available> | |
<!-- Cleanse xdocs --> | |
<j:set var="srcdir" value="${basedir}/src/xdocs"/> | |
<u:available file="${srcdir}"> | |
<fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove" tablength="4"> | |
<include name="**/*.xml"/> | |
<include name="**/*.html"/> | |
</fixcrlf> | |
</u:available> | |
<!-- Cleanse build files --> | |
<fixcrlf srcdir="." eol="lf" tab="remove" eof="remove" tablength="4"> | |
<include name="project.xml"/> | |
<include name="maven.xml"/> | |
</fixcrlf> | |
<!-- Cleanse scripts --> | |
<j:set var="srcdir" value="${basedir}/src/bin"/> | |
<u:available file="${srcdir}"> | |
<fixcrlf srcdir="${srcdir}" eol="lf" eof="remove" tab="remove" tablength="4"> | |
<include name="**/*"/> | |
</fixcrlf> | |
</u:available> | |
</j:scope> | |
</goal> | |
<goal name="java-src" | |
description="Creates an archive containing only java source."> | |
<u:available file="${basedir}/src/java"> | |
<j:set var="javaSrcBuilt" value="true"/> | |
<ant:mkdir dir="${basedir}/target"/> | |
<ant:jar destfile="${basedir}/target/${pom.artifactId}-${pom.currentVersion}-java-src.jar"> | |
<fileset dir="${basedir}/src/java"/> | |
<u:available file="${basedir}/target/xmlbeans"> | |
<fileset dir="${basedir}/target/xmlbeans"/> | |
</u:available> | |
</ant:jar> | |
</u:available> | |
<j:if test="${javaSrcBuilt != 'true'}"> | |
<u:available file="${basedir}/target/xmlbeans"> | |
<j:set var="java-src.built" value="true"/> | |
<ant:mkdir dir="${basedir}/target"/> | |
<ant:jar destfile="${basedir}/target/${pom.artifactId}-${pom.currentVersion}-java-src.jar"> | |
<fileset dir="${basedir}/target/xmlbeans"/> | |
</ant:jar> | |
</u:available> | |
</j:if> | |
</goal> | |
<!-- If there is no src/test directory you can | |
turn off clover in that module by overriding this goal to do nothing --> | |
<goal name="clover.wrapper"> | |
<attainGoal name="clover"/> | |
</goal> | |
<preGoal name="clover:test"> | |
<j:set var="cloveroverride" value="true"/> | |
</preGoal> | |
<!-- Check if the tests need to run --> | |
<!-- | |
<preGoal name="test:test"> | |
<j:if test="${context.getVariable('maven.test.force') == null}"> | |
<j:if test="${cloveroverride != 'true'}"> | |
<j:set var="uptodatePropName" value="tests.uptodate"/> | |
<j:remove var="${uptodatePropName}"/> | |
<ant:mkdir dir="${basedir}/target/test-reports/"/> | |
<j:set var="uptodateFile" value="${basedir}/target/test-reports/tstamp"/> | |
<ant:uptodate property="${uptodatePropName}" targetfile="${uptodateFile}"> | |
<ant:srcfiles dir="${basedir}/src/" includes="**/*"/> | |
</ant:uptodate> | |
<j:if test="${context.getVariable(uptodatePropName) == 'true'}"> | |
<ant:echo>NOTICE: Skipping tests; they seem to have passed already</ant:echo> | |
<j:set var="maven.test.skip" value="true"/> | |
<j:set var="unitTestSourcesPresent" value="false"/> | |
</j:if> | |
</j:if> | |
</j:if> | |
</preGoal> | |
--> | |
<!-- Update the timestamp of the last successful test --> | |
<!-- | |
<postGoal name="test:test"> | |
<j:if test="${context.getVariable('maven.test.failure') == null}"> | |
<ant:touch file="${basedir}/target/test-reports/tstamp"/> | |
</j:if> | |
</postGoal> | |
--> | |
</project> |