Como manter a versão do manifesto do plug-in e a versão pom sincronizadas no Maven com Tycho
-
27-09-2019 - |
Pergunta
Estou usando Maven com Tycho para construir um plugin Eclipse.Tycho gera o arquivo pom.xml para Maven inspecionando o arquivo de manifesto do plugin.Agora tanto o arquivo de manifesto quanto o arquivo pom possuem a versão do plugin e precisam ser mantidos sincronizados manualmente.Isso ocorre porque fiz algumas personalizações no arquivo pom gerado e não consigo substituí-lo toda vez que altero a versão no manifesto.
Minha pergunta aqui é: existe uma maneira de manter essas versões sincronizadas automaticamente usando o Tycho?
Solução
Parece que você pode atualizar versões usando o Tycho-versões-plugina (Usando Tycho 0.14.0 aqui):
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=NEW_VERSION-SNAPSHOT
Isso atualiza POMS, manifesta e característica.xml
Outras dicas
No momento, você tem que mantê -los sincronizados manualmente. Há uma questão em aberto - Tycho-214: Procedimentos de liberação do OSGI e práticas recomendadas - que deve cobrir isso. Atualmente, é direcionado para 0.9.0 - a próxima versão.
Tivemos uma situação semelhante.Estávamos cansados de mudar a versão no Manifesto e no pom.xml.Mas mudar a versão com o maven não foi uma boa solução, porque executar um comando maven especial sempre não era solução para nós.
Mas encontrei um Tychoplugin que integramos em nossa compilação.
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>versions</id>
<phase>validate</phase>
<goals>
<goal>update-pom</goal>
</goals>
</execution>
</executions>
</plugin>
Este plugin atualiza a versão no pom.xml com a versão do Manifest Every Build automaticamente.
Mais informações em https://www.eclipse.org/tycho/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html
É bastante útil usar o plug -in Tiger de versão para eclipse. Este plug -in adiciona um menu de contexto ao Eclipse, que permite atualizar as versões OSGI e POM simultaneamente.
Versão O Tiger pode ser baixado aqui: https://github.com/inventage/version-tiger