Here is an other approach without Ant contrib.
The trick is to first run a `target` checking for file existence. This target will store its checking result in a property. This property is then exported among Maven properties thanks to maven-antrun-plugin option `[exportAntProperties][1]`.
A second target can then run based on the exported property value.
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>check-file-exists</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<available
file="path/to/file-to-check"
property="fileExists"
/>
</target>
<exportAntProperties>true</exportAntProperties>
</configuration>
</execution>
<execution>
<id>perform-actual-task</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target if="${fileExists}">
<echo message="File exists... let's go !" />
<!-- Your tasks here ... -->
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[1]: https://maven.apache.org/plugins/maven-antrun-plugin/run-mojo.html#exportAntProperties
What a mess. I don't remember where I found this but I had to add the following to get M2Eclipse to be happy. Even more sad is that it isn't exactly easy to understand why this tag is needed.
<!-- language: xml -->
<build>
... various plugins ...
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse
m2e settings only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
There were a number of other issues with the M2Eclipse plug-in that simply didn't work with Spring Data. In the end I disabled M2Eclipse in favor of the [Apache Eclipse plug-in][1].
[1]: http://maven.apache.org/plugins/maven-eclipse-plugin/