Mon pom.xml
exécute une tâche Ant pour déployer un fichier via FTP. Toutefois, ce déploiement doit être effectué uniquement si l'argument -Dftp=true
est donné dans la commande Maven (c'est-à-dire mvn clean install -Dftp=true
). Ainsi, je l'ai écrit le code suivant:Exécuter une tâche Ant dans Maven uniquement si une propriété est définie
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks if="ftp">
<echo message="Deploying files through FTP..."/>
...
</tasks>
</configuration>
</execution>
</executions>
En utilisant cette pom.xml
, la tâche Ant n'est pas exécutée si je ne définit pas la propriété -Dftp
dans ma commande Maven. Cependant, si je donne une valeur quelconque à cette propriété, par exemple -Dftp=false
, la tâche Ant est exécutée, ce qui n'est pas correct.
Comment configurer la tâche AntRun à exécuter uniquement si une propriété donnée a une valeur donnée? Ps: Je sais que je peux utiliser un profile
qui n'est actif que lorsque ftp
est égal à true
. Cette solution fonctionne, mais pour une raison quelconque, je veux avoir mon bloc plugin Antrun build
.
<profiles>
<profile>
<id>deployment</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>ftp</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
... (define the Ant task here)
Quelle horrible (et verbeuse) syntaxe pour cette tâche «if». Mais c'est le travail, c'est plus important; o) Merci! – romaintaz