Metadados da Versão Corrente

Introdução

A fim de identificar todos os elementos que compõem um build das licenças do Framework foi construída uma funcionalidade que permite obter informações extraídas durante o build em todas as versões das bibliotecas.

Funcionamento

Um script é responsável por construir dinamicamente uma classe que irá disponibilizar as informações do build.

Uso

As informações sobre o build podem ser acessadas atráves da inclusão do arquivo dinâmico:

__include('ufs:/sdl/version/current.js');

Propriedades

As seguintes propriedades são disponibilizadas:

    • sdl.version.Current.version: Nome da versão prefixada com o tipo da versão (current = em desenvolvimento, stable = versão atual). Exemplo: 2013.12-current

    • sdl.version.Current.buildDate: String que representa a data da execução do build no formato YYYY_MM_DD_HH_MM_SS

    • sdl.version.Current.destionationDatabase: Banco de destino no qual esse build executou os testes e aplicou a versão

    • sdl.version.Current.buildUrl: URL com detalhes do build. Acessível apenas para desenvolvedores da UNUM

    • sdl.version.Current.buildString: String que facilita a identificação do build junto a ferramenta de integração contínua

    • sdl.version.Current.artifacts: Array que contém todos os artefatos contidos no build

      • O array de artifacts contém objetos com as seguintes propriedades:

      • filename: Nome do arquivo

      • commit: Hash do commit no VCS

      • lastMessage: Última mensagem de commit para o arquivo

      • author: Autor do commit

      • email: E-mail do autor do commit

      • commitDate: Data em que foi realizado o commit na máquina do desenvolvedor

Exemplos de Uso

Todos os exemplos devem ser executados a partir da IDE na aba iDBC.

Verificando a data de realização do build

__include('ufs:/sdl/version/current.js');

sdl.version.Current.buildDate;

Buscando por um artefato específico

__include('ufs:/sdl/version/current.js');

__include('ufs:/goog/array/array.js');

var buscarPor = 'uwl/datasource/column.js';

var resultado;

goog.array.forEach(sdl.version.Current.artifacts, function (artifact) {

if (artifact.filename.indexOf(buscarPor) > 0) {

resultado = JSON.stringify(artifact);

return;

}

});

JSON.stringify(resultado);