The Maven Cookbook
4.2. Running an Inline Ant Script in a Maven Build
Configure the run goal of the Maven AntRun
plugin to execute an inline Ant script. The POM shown in configures the
run goal to execute during the
prepare-package phase of the build. The Ant script is
contained in the tasks configuration parameter for
the ant-magic execution.
Example 4.1. Executing an Inline Ant Script in a Maven Build
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mcookbook</groupId>
<artifactId>ant-script</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>ant-script</name>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ant-magic</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<property name="compile_classpath"
refid="maven.compile.classpath"/>
<echo file="${project.build.outputDirectory}/deps.txt"
message="compile classpath: ${compile_classpath}"/>
<copy todir="${project.build.outputDirectory}">
<fileset dir="${project.build.sourceDirectory}"/>
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
You can run this script, by executing the package phase.
~/examples/ant/ant-script $ mvn package
[INFO] Scanning for projects...
...
[INFO] [antrun:run {execution: ant-magic}]
[INFO] Executing tasks
[copy] Copying 1 file to ~/examples/ant/ant-script/target/classes
[INFO] Executed tasks
...
[INFO] BUILD SUCCESSFUL
Once this simple Ant script has been completed, the contents of
${basedir}/target/classes/deps.txt should contain
the following:
compile classpath: ~/examples/ant/ant-script/target/classes