2016-05-27 12 views

risposta

5

Si presume che si desideri leggere tali informazioni, quindi memorizzarle in un file di proprietà. Sulla base https://github.com/ktoso/maven-git-commit-id-plugin#using-the-plugin:

pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <!-- snip other stuff... --> 
    <build> 
     <!-- GIT COMMIT ID PLUGIN CONFIGURATION --> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
       <includes> 
        <include>**/*.properties</include> 
       </includes> 
      </resource> 
     </resources> 

     <plugins> 
      <plugin> 
       <groupId>pl.project13.maven</groupId> 
       <artifactId>git-commit-id-plugin</artifactId> 
       <version>2.2.1</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>revision</goal> 
         </goals> 
        </execution> 
       </executions> 

       <configuration> 
        <commitIdGenerationMode>flat</commitIdGenerationMode> 
        <gitDescribe> 
         <skip>true</skip> 
        </gitDescribe> 
       </configuration> 

      </plugin> 
      <!-- END OF GIT COMMIT ID PLUGIN CONFIGURATION --> 

      <!-- other plugins --> 
     </plugins> 
    </build> 
</project> 

git.properties a/src/main/risorse:

git.commit.id=${git.commit.id} 
3

È possibile utilizzare maven-buildnumber-plugin, che supporta Git tra pochi altri Sistemi SCM.

Ha anche funzione aggiuntiva relativa a generare numero di build unico, oltre ad ottenere giusto revisione/commit ID: capire filiale SCM, aggiungere timestamp, utilizzare hash brevi, ecc