2013-02-28 10 views
5

Vorrei utilizzare Maven per eseguire il checkout di un repository Git. Nel nostro caso d'uso specifico questo ha senso poiché questo Git Repository contiene file che dobbiamo includere nel processo di compilazione.controllare un repository Git e passare a un ramo specifico utilizzando Maven SCM

A causa della natura dei progetti è probabile che il repository Git abbia filiali diverse. Quindi, un semplice: scm: git: [email protected]: mioprogetto/project.git

non funzionerà come questo si checkout master. Vorrei ad esempio il ramo "3.0V3"

C'è un modo per specificare quale ramo Maven effettuerà il checkout?

risposta

7

È possibile utilizzare le proprietà <scmVersion> e <scmVersionType> di maven scm plugin per ottenere ciò.

<scm> 
    <developerConnection>scm:git:url</developerConnection> 
    </scm> 
... 

<build> 
    <plugins> 
     ... 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-scm-plugin</artifactId> 
      <version>1.8.1</version> 
      <configuration> 
       <connectionType>developerConnection</connectionType> 
       <scmVersion>branch-name</scmVersion> 
       <scmVersionType>branch</scmVersionType> 
      </configuration> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 
+0

che è giusto, credo che la lista completa dei parametri è qui: http://maven.apache.org/scm/maven-scm-plugin/checkout-mojo.html Mi chiedo solo come modificare la checkout nome directory. Maven userà sempre il target/checkout come nome locale. Preferirei target/branch-name come directory. Il parametro "workingDirectory" sembra non avere alcun effetto (affatto). –

+0

Ah non importa :) La "checkoutDirectory" è il parametro per questo. http://maven.apache.org/scm/maven-scm-plugin/checkout-mojo.html#checkoutDirectory –

+0

Non mi piace questa risposta perché richiede modifiche a pom.xml solo per cambiare il ramo che verrà creato. –

Problemi correlati