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);