Vous n'avez pas fourni beaucoup de détails sur votre processus de génération de code, mais vous pourriez peut-être invoquer simplement le générateur de code avec le exec-maven-plugin (voir Exemples section). La convention est de générer des sources dans ${project.build.directory}/generated-sources/<tool>
. Puis ajoutez les sources générées avec le build-helper-plugin et son add-sources
mojo. Liez chaque élément de la phase generate-sources
.
Je vais montrer les choses build-assistant ci-dessous:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-mytool-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/mytool</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Vous pouvez aussi écrire un simple plugin pour envelopper votre générateur. Dans ce cas, jetez un oeil à la Guide to generating sources. PS: J'ai peut-être manqué quelque chose, il y a une sorte de décalage entre ma réponse et le titre de votre question.
Mon programme prend un fichier .bean et génère un fichier .java: java BeanGenerator Foo.bean va générer un Foo.java donc je suis en train de trouver un mécanisme inMaven/ant qui me permet de spécifier cette relation si il sait que lorsque le .bean est plus récent que le .java, il a besoin pour exécuter cette comm et ligne. Ma frustration est que c'était trivial dans ye olde worlde faire mais ce n'est pas du tout évident comment faire cela Maven/fourmi. –
@Guy Ok. Ensuite, la méthode suggérée fonctionnera (sauf qu'elle fonctionnerait systématiquement). –