- Why you should use the Maven Ant Tasks instead of Maven or Ivy « Incremental Operations
- Maven Ant Tasks - Introduction
事前準備:上記のサイトからmaven-ant-tasks-2.1.1.jarをダウンロードして${ANT_HOME}/libにコピー。
<?xml version="1.0" encoding="UTF-8"?>
<project name="necs" basedir="." default="help"
xmlns:artifact="antlib:org.apache.maven.artifact.ant">
<property file="build.properties"/>
<property name="maven.local.repo.dir" value="${user.dir}/localRepository"/>
<target name="help">
<echo>
Usage: ant build|help
</echo>
</target>
<artifact:localRepository id="localRepo" path="${maven.local.repo.dir}"/>
<macrodef name="mvn_clean_install_no_test">
<attribute name="dir" />
<sequential>
<artifact:mvn pom="@{dir}/pom.xml" fork="yes" failonerror="true">
<localRepository refid="localRepo"/>
<arg value="-Dmaven.test.skip=true"/>
<arg value="clean"/>
<arg value="install"/>
</artifact:mvn>
</sequential>
</macrodef>
<target name="build">
<mvn_clean_install_no_test dir="SampleApp" />
</target>
</project>artifact:mvnタスクはJavaタスクを継承しているのでfork属性が使えます。-Dname=valueを有効にするためにはforkする必要があるのでfork="true"を指定しています。