Liberação da MVN: Execute automaticamente especificar a tag SCM que inclui a versão de liberação

StackOverflow https://stackoverflow.com/questions/2470176

  •  20-09-2019
  •  | 
  •  

Pergunta

Eu gostaria de configurar meu lançamento do Maven para ser executado no modo em lote, mas não sou fã da tag SCM padrão ${artifactId}-${releaseVersion}. Em vez disso, eu gostaria de simplesmente marcar com isso ${releaseVersion}; No entanto, não estou claro se essa propriedade existe (ou seja, sem o sufixo -Snapshot).

Eu gostaria da configuração para se parecer com o código abaixo. Uma marcha padrão é possível com a plugina de liberação do maven?

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.0</version>
  <configuration>
    <tag>${releaseVersion}</tag>
  </configuration>
</plugin>
Foi útil?

Solução

Experimente isso:

<configuration>
     <tag>${project.version}</tag>
</configuration>

Outras dicas

Acabei de fazer isso funcionar ao usar Hudson para fazer meu lançamento. Observei que o Hudson (com o plugin de liberação do Maven) está iniciando o comando com uma propriedade como -dproject.rel.com.example: my-artifact-id = 1.0.1. Usando a seguinte configuração do plug -in:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <configuration>
        <tag>REL-${project.rel.com.example:my-artifact-id}</tag>
    </configuration>
</plugin>

Resultou na tag sendo Rel-1.0.1

Sou novo no plug -in de liberação, mas presumiria que algo semelhante funcionaria da linha de comando.

Você pode passar nas propriedades para:

ReleaseVersion-Qual versão você deseja que seja lançada como (1.0) DevelopmentVersion-a próxima versão (2.0-SNAPSHOT)-o nome da tag

Um 1.0-SNAPSHOT implica uma versão de versão 1.0, mas não a define. Você pode definir essa propriedade em seu arquivo POM como uma propriedade regular.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top