- 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"を指定しています。