Je suis un peu nouveau sur maven et j'ai rencontré un problème que je ne peux pas résoudre seul.Maven - comment reconstruire un module de numéro de révision git sur la construction d'un module
J'ai écrit un module simple pour un grand projet qui suit le numéro de révision de git, ajoute un horodatage et saute ces propriétés dans un fichier .properties. Ce projet est juste un fichier pom.xml, pas de classes java et un fichier project.properties. Je voulais ajouter ce module en tant que dépendance au fichier principal du projet pom.xml, mais il n'est reconstruit qu'une seule fois (puisque Maven ne détecte aucun changement, il ne le reconstruit pas à nouveau).
Comment forcer la reconstruction de ce module à chaque fois qu'un module du projet est reconstruit? Puis-je le faire dans le fichier projet pom.xml, ou est-ce que je le mets d'une manière ou d'une autre dans Jenkins? Ou peut-être que j'ai abordé ce problème d'une manière complètement incorrecte?
est ici le fragment de mon fichier pom.xml:
<build>
<plugins>
<!-- enable ${timestamp} variable -->
<plugin>
<groupId>com.keyboardsamurais.maven</groupId>
<artifactId>maven-timestamp-plugin</artifactId>
<version>1.0</version>
<configuration>
<propertyName>timestamp</propertyName>
<timestampPattern>dd.MM.yyyy HH:mm</timestampPattern>
</configuration>
<executions>
<execution>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- enable JGit plugin -->
<plugin>
<groupId>ru.concerteza.buildnumber</groupId>
<artifactId>maven-jgit-buildnumber-plugin</artifactId>
<version>1.2.7</version>
<executions>
<execution>
<id>git-buildnumber</id>
<goals>
<goal>extract-buildnumber</goal>
</goals>
<phase>initialize</phase>
</execution>
</executions>
</plugin>
<!-- write project properties to file -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>write-project-properties</goal>
</goals>
<configuration>
<outputFile>${basedir}/target/classes/project.properties</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Cheers, Jony