domingo, 22 de setembro de 2013

SNAPSHOTs versions

Cada vez que vc faz "mvn install" numa versão que não é SNAPSHOT, essa é minha reação:



Gente, não. Não, não, não.


Uma versão estável, isso é, uma que não termina com "SNAPSHOT", é considerada imutável. IMUTÁVEL. Qualquer coisa que você esteja desenvolvendo obrigatoriamente tem que ser "SNAPSHOT".



O que isso significa?


Digamos que você está chamando o maven como de costume. Em qualquer projeto, mvn test.
O maven vai lá, procura todas as dependências. Se uma dependência não é SNAPSHOT, ele assume que, se já está no maven local repo (aquela pasta ~/.m2/repository), aquilo tá certo. Se você foi lesado de sobreescrever uma versão que NÃO É a correta, só deletando os arquivos pra consertar.

SNAPSHOT versions tem outro tratamento, mas fica pra outro post.


Opções:
  • Usualmente você não precisa rodar "mvn install". Um "mvn verify" pode te salvar muitas vezes
  • Se existir realmente motivo para recompilar uma versão já estável, use um outro maven local repo : "mvn -Dmaven.repo.local=$HOME/.my/other/repository install"
  • Pra fazer release, use o plugin de release. Ajuda com tag, com pom file, com deploy.
  • Ok, esse plugin de release é a besta do apocalypse em forma de plugin, você pode dar uma olhada no git-workflow plugin.

Nenhum comentário:

Postar um comentário