2010-06-06 5 views
5

Notre projet avait un bon hack (bien que je suppose qu'il existe de meilleures façons de le faire) pour intégrer des informations de révision dans les artefacts (pot, etc.) svn utiliséComment intégrer des informations de révision à l'aide de mercurial et maven (et svn)

Maintenant, nous avons migré vers mercurial, et nous voulons avoir une chose similaire, mais avant de commencer à travailler sur un hack similaire avec mercurial, je voulais savoir s'il y avait de meilleures façons de le faire.

Merci pour vos réponses!

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <executions> 
      <execution> 
        <phase>process-classes</phase> 
        <id>svninfo</id> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       <configuration> 
        <executable>svn</executable> 
        <arguments> 
        <argument>info</argument> 
        <argument>../</argument> 
        <argument>></argument> 
        <argument>target/some-project/META-INF/svninfo.txt</argument> 
        </arguments> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

Répondre

4

Le soutien Maven Build Number Plugin a Mercurial depuis la version 1.0-beta-4 (voir MOJO-1432). L'objectif buildnumber:hgchangeset définit deux propriétés de projet avec l'ID de modification et la date de modification que vous pouvez utiliser avec le filtrage pour obtenir un résultat équivalent.

2

On dirait que Pascal a la voie officielle de maven de le faire, mais si vous finissez émulant votre hack svn, la meilleure commande correspondante mercurial serait:

hg log -r . --template '{node|short}\n' 

ou si vous utilisez des tags et que vous voulez obtenir la fantaisie:

hg log -r . --template '{latesttag}+{latestance}\n' 

voir hg help templates pour toutes les options.

+0

Que diriez-vous de 'hg parent' au lieu de' hg log -r .'? – Alex

Questions connexes