J'ai actuellement deux descripteurs de montage avec deux exécutions pour mon projet qui génère des distributions du projet pour deux groupes différents:Comment inclure des expressions spécifiques d'exécution d'assembly Maven dans un fichier descripteur d'assembly?
<!-- Client distribution -->
<execution>
<id>client</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/dist-client.xml</descriptor>
</descriptors>
</configuration>
</execution>
<!-- Developer distribution -->
<execution>
<id>developer</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/dist-developer.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
Cela signifie que je dois maintenir deux ensembles de descripteurs, scripts shell, etc, que je veux pour éviter, mais je n'arrive pas à trouver un moyen d'obtenir une expression contenant l'ID d'exécution ou un autre paramètre de configuration unique à l'exécution pour le descripteur.
Je suppose que si l'expression est visible pour l'assembly, le plugin pourra également la substituer dans mes scripts shell pour consolider la construction en un descripteur d'assembly dist avec deux exécutions.
Quelqu'un peut-il suggérer une meilleure approche?
Avez-vous jeté un coup d'oeil au filtrage? http://maven.apache.org/plugins/maven-assembly-plugin/examples/single/filtering-some-distribution-files.html avec cela vous pouvez configurer différents fichiers de propriétés dans les différentes exécutions ... (Jetez un oeil ici: https://github.com/khmarbaise/CIEnv/tree/master/hudson/cienv-proxy peut être cela aide.) – khmarbaise
J'utilise des filtres à substituer dans le nom de fichier jar distribuable, et ils font certainement partie de la solution, mais j'ai aussi besoin du nom de fichier final, des noms de script shell de destination, etc. pour représenter l'exécution. Par exemple 'myclientapp' vs 'mydevapp'. C'est une application en ligne de commande et j'affiche différentes actions disponibles en fonction du type de distribution transmis sur un paramètre système. –