blob: c235746099b6232b9d2bdddadb4cd7e3d6db8fad [file] [log] [blame]
<?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>