Je veux exécuter un build.xml (Ant buildfile) à partir de GMaven (Maven Plugin pour l'exécution en ligne de Groovy dans un POM). Depuis que je dois exécuter le fichier de construction plusieurs fois en utilisant le maven-antrun-plugin n'est pas une option. Le fichier de construction évolue et provient d'un projet partenaire avec peu de changements. C'est pourquoi je ne veux pas mettre la logique dans un autre environnement (code groovy ou configuration Maven). Je prends une liste de propriétés (les noms d'environnement et de machine qui peuvent différer considérablement en nombre et noms, à mon avis cela ne peut être mis en modules) d'un fichier xml et qui veulent exécuter des constructions ant pour chacune de ces machines. J'ai trouvé la méthode executeTarget dans les javadocs mais pas comment définir l'emplacement du fichier de construction. Comment puis-je faire cela - et est-ce suffisant?Comment définir le fichier build.xml pour Groovy Antbuilder?
Ce que je présente comme suit:
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<id>some ant builds</id>
<phase>process-sources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
def ant = new AntBuilder()
def machines = new XmlParser().parse(new File(project.build.outputDirectory + '/MachineList.xml'));
machines.children().each {
log.info('Creating machine description for ' + it.Id.text() + '/' + it.Environment.text());
ant.project.setProperty('Environment',it.Environment.text());
ant.project.setProperty('Machine',it.Id.text());
// What's missing?
ant.project.executeTarget('Tailoring');
}
log.info('Ant has finished.')
</source>
</configuration>
</execution>
</executions>
</plugin>
Ce n'est pas une option, les machines et les environnements sont trop différents pour mettre les en modules. Merci pour votre réponse quand même! – Jan