I'm trying to do something really simple: run an Ant task from Maven. Foolproof, right? Wrong.
Here's my pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>sampleproject-app</artifactId>
<groupId>org.sampleproject</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>org.sampleproject</groupId>
<artifactId>patient-labs-module</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>swf</packaging>
<name>Sample Project Patient Labs Module</name>
<properties>
<flex.sdk.version>4.1.0.16248</flex.sdk.version>
</properties>
<dependencies>
<dependency>
<groupId>com.adobe.flex.framework</groupId>
<artifactId>flex-framework</artifactId>
<version>${flex.sdk.version}</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>com.adobe.flex.framework</groupId>
<artifactId>playerglobal</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.adobe.flexunit</groupId>
<artifactId>flexunit</artifactId>
<version>4.0-rc-1</version>
<type>swc</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.adobe.flex.framework</groupId>
<artifactId>playerglobal</artifactId>
<version>${flex.sdk.version}</version>
<classifier>10.1</classifier>
<type>swc</type>
</dependency>
</dependencies>
<build>
<sourceDirectory>${basedir}/main/flex</sourceDirectory>
<testSourceDirectory>${basedir}/test/flex</testSourceDirectory>
<resources>
<resource>
<directory>${basedir}/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${basedir}/test/resources</directory>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>
<version>3.8</version>
<extensions>true</extensions>
<dependencies>
<dependency>
<groupId>com.adobe.flex</groupId>
<artifactId>compiler</artifactId>
<version>${flex.sdk.version}</version>
<type>pom</type>
</dependency>
</dependencies>
<configuration>
<sourceFile>application.mxml</sourceFile>
<targetPlayer>10.1</targetPlayer>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<configuration>
<tasks>
<mkdir dir="/var/www/sampleproject/patientlabs"/>
<copy todir="/var/www/sampleproject/patientlabs">
<fileset file="${project.build.directory}/${project.build.finalName}.${project.packaging}"/>
<fileset dir="main/resources" includes="**/*"/>
</copy>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
What am I doing wrong? When I run mvn install
, the Ant target never gets executed. Is there a better way to do this? I simply need to copy certain files in my resources directory and the main swf to a local directory so I can test it on my localhost HTTP server.
If you look at the usage site of the maven-antrun-plugin you will see that also a goal is specified in the plugin configuration
<goals>
<goal>run</goal>
</goals>
I suppose you have to add this.