mavenantmaven-antrun-pluginflexmojos

Maven not executing my Ant target


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.


Solution

  • 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.