Sto cercando di passare le proprietà Maven (definito attraverso i profili) per l'esecuzione di antrun:Maven antrun: passano proprietà Maven ad 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>
Le proprietà sono definiti nei profili per consentire la distribuzione in diversi server (lo so che non è il miglior approccio possibile, ma questo è il modo in cui le cose vengono fatte qui), in questo modo:
<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>
il mio problema è che non riesco a ottenere le proprietà Maven per lavorare in plug-in formica; Ho provato ad aggiungere un task <echoproperties>
per vedere quali proprietà ho e non c'è traccia di proprietà di maven. È possibile utilizzare proprietà definite da Maven o dovrei usare un altro approccio? Qualsiasi suggerimento è benvenuto.
Edit: ho modificato lo script come da prima risposta, ancora non funziona
@RiccardoCossu Ho creato un progetto di test che conteneva solo un singolo pom (Ho modificato la mia risposta per includere il pom completo). Come descritto nella risposta quando eseguo Maven, la proprietà viene correttamente sostituita nella chiamata Antrun. Quale versione di Maven stai usando? – DB5
Ho provato il tuo progetto di test e funziona; Devo ancora capire perché non funziona nel mio caso specifico ... Triste Sto usando 3.0.4 –
capito! Sono caduto in un ciclo di confusione tra formica e Maven ... Stavo dichiarando la proprietà il modo "ant" in parte Maven (con un tag chiamato proprietà, invece del nome personalizzato) –