Árvore de páginas

Atualização Necessária

Todo o conteúdo deste espaço carece de atualização e, embora tenha validade nas suas intenções, as informações existentes podem ter divergências quanto à realidade atualizada, pois tratam-se de materiais bastante antigos (alguns com mais de 5 anos de existência) e que sofreram adaptações e evoluções ao longo dos anos, sem terem sido atualizados aqui.
Assim, pede-se ao leitor evitar de tomar decisões com base apenas no material aqui existente.

Skip to end of metadata
Go to start of metadata

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Próxima »

Aqui voce encontra

Regras essenciais sobre versionamento de artefaos entregaveis de projeto, tais como pacotes para download.

Visao Geral

O versionamento de artefatos eh a chave para controle e rastreabilidade dos entregaveis no projeto.

O objetivo eh localizar univocamente o artefato, e com isso ter informacoes sobre quais os elementos que o compoem e qual distribuicao do projeto ele esta atrelado.

Numeracao

O 3PUP usa as regras da Fundacao Eclipse (1, 2) e o novo padrao Java 6 (3) para versionamento de artefatos.

Enquanto o padrao Eclipse determina a profundidade dos niveis de numeracao e as regras essenciais para incremento de cada nivel, o padrao Java 6 delinea as regras para ruptura de API entre major versions.

Para um entendimento detalhado dessas regras, consulte os links de referencia ao final da pagina.

Para uma visao sintetizada dessas informacoes, use a tabela abaixo:

Nivel

Nome

Descricao

N.x.x.x

Nivel Maior

Indica uma versao de ruptura (ou possivel ruptura) de API, iniciando em 0 e incrementando em uma unidade cada vez manualmente pelo Gerente de Configuracao. A primeira versao de producao deve ter numero 1.

x.N.x.x

Nivel Menor

Indica alteracoes aditivas visiveis na API e que nao invalidem o nivel maior, inclusao de metodos novos metodos, criacao de metodos polimorificos, adicoes de parametros estilo "varargs", alteracoes de nomes de parametros, sobreescrita de tipos, alteracoes em hieraquia de classes ou interfaces e outras modificacoes que nao quebrem o Nivel Maior. Inicia em 0 e incrementa em uma unidade cada vez manualmente pelo Gerente de Configuracao. Quando o Nivel Mmaior muda de valor, o Nivel Menor reinicia em zero novamente.

x.x.N.x

Nivel de Servico

Indica correcoes de bugs ou melhorias nao visiveis em nivel de API, como adicao ou  melhoria de documentacoes, tunning para performance, seguranca ou outras capacidades nao funcionais no sistema. Inicia em 0 e incrementa em uma unidade cada vez manualmente pelo Gerente de Configuracao. Quando o Nivel Menor reinicia, o Nivel de Servico reinicia em zero novamente.

x.x.x.N

Nivel de Qualificacao

Incrementado automaticamente a cada build, geralmente pelo sistema de integracao continua. Quando o Nivel de Servico reinicia, o Nivel de Qualificacao nao reinicia. DICA: Este Nivel de Qualificacao pode ser baseado em elementos como Timestamp, Numero do Build, Numero da Revisao do Repositorio, entre outras opcoes que identiquem claramente a unicidade dessa versao quando os valores de Nivel Maior, Menor e de Servico permanecerem iguais.

Exemplo Pratico

TODO - Descrever um caso de uso de como usar esse padrao no dia-a-dia.

Referencias

1 - http://www.eclipse.org/equinox/documents/plugin-versioning.html
2 - http://wiki.eclipse.org/index.php/Version_Numbering
3 - Link para padrao Java 6 de "deprecacao" de APIs

  • Sem rótulos