avijendr
avijendr

Reputation: 4153

Change maven properties using Ant task

I have set a maven property in the pom.xml.

<properties>
    <build.start.date>someValue</build.start.date>
</properties>

Now I have an ant task doing the following:

<loadresource property="build.start">
    <url url="http://someUrl?xpath=/*/id/text()"/>
</loadresource>

<property name="build.start.date" value="${build.start}"/>

<echo>Printing Ant Value ${build.start} </echo>
<echo>Printing Maven Value ${build.start.date}</echo>

This results in:

[echo] Printing Ant Value 2013-03-15_17-53-08
[echo] Printing Maven Value 2013-03-16

But I am expecting both to print:

[echo] Printing Ant Value 2013-03-15_17-53-08
[echo] Printing Maven Value 2013-03-15_17-53-08


I tried <loadresource property="build.start.date">
and
I tried <loadresource property="${build.start.date}">

So the question is how do I set a global maven property inside ant task?

Upvotes: 8

Views: 6420

Answers (1)

avijendr
avijendr

Reputation: 4153

I found the solution for this one.

First of all you need to have 1.7 version of antrun plugin:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
....
</plugin>

Then under configuration you need to have exportAntProperties to true (false by default):

<configuration>
<exportAntProperties>true</exportAntProperties>

Upvotes: 17

Related Questions