Table of Contents

TerraLib and TerraView Versioning

Esta seção apresenta a política de versionamento adotada da TerraLib, compreendendo todo o ciclo de vida da plataforma, incluindo:

Numeração das Versões

As versões estáveis são numeradas usando-se a tripla x.y.z, que indica, respectivamente, os números conhecidos por Major Version, Minor Version e Patch Version (ou revision number).

A numeração x é usada para separar versões bem diferentes e que, geralmente, indicam uma grande mudança na API. Mudanças neste nível podem implicar desde a adição de um grande número de funcionalidades até saltos tecnológicos que culminem no rompimento total da API. Em resumo, os desenvolvedores, clientes da API TerraLib, podem esperar mudanças significativas da API.

A numeração y é usada para separar versões que adicionam novas funcionalidades, mas que não trazem grandes impactos nas aplicações existentes. Mudanças neste nível não devem acarretar incompatibilidades entre as APIs. Obviamente, o uso de recursos da nova versão farão com que o cliente não possa fazer a atualização para baixo novamente sem um mínimo de esforço de programação.

A numeração z, chamada patch version ou revision number, é usada para identificar as versões estáveis de uma geração y. Estas versões z não incluem modificações e novas funcionalidades na API, elas apenas garantem que as funcionalidades foram testadas e encontram-se em um estado confiável. Novas numerações serão geradas à medida que uma determinada quantidade de erros seja descoberta e corrigida. É garantido que nenhuma mudança na API será realizada.

As versões de pré-lançamento (instáveis ou experimentais) possuem um qualificador extra, um sufixo da forma: -tipo-pré-lançamento.w. Até que uma versão atinja um ponto estável, passando por todos os testes de aceitação, esta versão passará, na ordem, pelos seguintes estados:

Exemplos de numerações de versões são:

As versões com numeração de correção (ex: 5.1.1) não passarão por versões de pré-lançamento, uma vez que são apenas correções.

A figura abaixo ilustra o processo de numeração das versões:

TODO

Versionamento Repositório

O versionamento do repositório considera que:

A figura abaixo ilustra o esquema de versionamento adotado.

TODO

API em Desuso

Classes, métodos ou funções marcados com a macro TE_DEPRECATED devem ter seu uso evitados pois podem ser removidos entre as versões menores e maiores.

Macros e Classes de Versionamento

As macros, definidas no projeto de build da TerraLib (CMakeLists.txt principal), para controle do versionamento são:

As variáveis acima podem ser encontradas no arquivo build/cmake/CMakeLists.txt.

Além das variáveis acima, existe a classe terralib::common::Version que permite obter as informações acima em tempo de execução das aplicações, assim como a data de build da distribuição da TerraLib.

NOTA: alterar a splash window que fica no sub-dir share\terraview\images\png para refletir o número da versão.

Procedimento de Versionamento

TODO: pegar do arquivo README

Veja Também os Seguintes Documentos