Próbuję przekazać właściwości Maven (zdefiniowany przez profile) do wykonania antrun:Maven antrun: pass właściwości Maven ANT
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<!-- ... these are ok -->
</dependencies>
<executions>
<execution>
<configuration>
<target>
<property name="ant_destDir" value="${destDir}" />
<property name="ant_serverDeploy" value="${serverDeploy}" />
<property name="ant_deployDir" value="${deployDir}" />
<property name="ant_userDeploy" value="${userDeploy}" />
<property name="ant_passwordDeploy" value="${passwordDeploy}" />
<!-- correct task definitions for sshexec and scp -->
<sshexec host="${serverDeploy}" username="${userDeploy}"
password="${passwordDeploy}" trust="yes"
command="some command" />
<scp remoteTodir="${userDeploy}@${serverDeploy}:${destDir}"
password="${passwordDeploy}" trust="yes" sftp="true">
<fileset dir="${deployDir}" includes="*.jar" />
</scp>
<sshexec host="${serverDeploy}" username="${userDeploy}"
password="${passwordDeploy}" trust="yes"
command="some command" />
</target>
</configuration>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
właściwości są zdefiniowane w profilach w celu umożliwienia wdrożenia w różnych serwerach (wiem, że to nie jest najlepszy z możliwych rozwiązań, ale jest to sposób rzeczy są zrobione tutaj), podobnie jak to:
<profile>
<id>aprofile</id>
<properties>
<property name="serverDeploy" value="somevalue" />
<property name="userDeploy" value="someuser" />
<property name="passwordDeploy" value="somepassword" />
<!-- and so on -->
</properties>
</profile>
Moim problemem jest to, że nie można uzyskać właściwości Maven do pracy w plugin mrówek; Próbowałem dodać zadanie na mrówce, aby zobaczyć, jakie właściwości mam i nie ma śladu właściwości maven. Czy możliwe jest użycie właściwości zdefiniowanych przez użytkownika lub czy powinienem zastosować inne podejście? Wszelkie sugestie są mile widziane.
Edycja: zmodyfikowany skrypt jak na pierwszej odpowiedzi, to nadal nie działa
@RiccardoCossu Stworzyłem projekt testowy, który zawierał tylko jeden pom (Edytowałem swoją odpowiedź, aby dołączyć cały pom). Jak opisano w odpowiedzi, gdy wykonuję maven, właściwość jest poprawnie zamieniana w wywołaniu Antrun. Jakiej wersji maven używasz? – DB5
Wypróbowałem twój testowy projekt i działa; Nadal muszę zrozumieć, dlaczego to nie działa w moim konkretnym przypadku ... :-(Używam 3.0.4 –
zrozumiałem! Wpadłem w pętlę pomieszania między mrówką a mavenem ... Deklarowałem właściwość "mrówka" w części maven (z tagiem o nazwie property, zamiast niestandardowej) –