Árvore de páginas

Para algumas funcionalidades é importante que o PROBAT tenha conhecimento sobre quais são os fontes oficiais do seu projeto.

Hoje o PROBAT possui 2 modos de encontrar os fontes, sendo:

  • Hierarquia de diretórios;
  • Annotation.


Hierarquia de diretórios

Caso você tenha seguido a recomendação anterior em (Arquitetura de diretórios do projeto) e todos os seus fontes oficiais estejam abaixo de /src/, recomendamos utilizar o modo [Hierarquia de diretórios], pois ele é o mais simples e eficaz, uma vez que ele irá encontrar todos os arquivos-fontes que existem fisicamente abaixo do diretório raiz.

Para isso, em seu INI informe:

[PROBAT]
SOURCE_DISCOVERY_MODE=0
SOURCE_PATH=C:/my_project/src/
Sendo:
  • {SOURCE_DISCOVERY_MODE=0} Informa que o PROBAT fará as buscas dos arquivos por hierarquia de diretórios.
  • {SOURCE_PATH=C:/my_project/src/} Diretório raiz onde possui todos os arquivos-fontes oficiais e subdiretórios do projeto.


Annotation

Caso você tenha os fontes distribuídos de forma organizada diferente da descrita em [Hierarquia de diretórios] e o processo de refatorar a localização dos arquivos seja muito custoso, então o PROBAT possui um modo de encontrá-los através do uso de annotation.

Primeiro é preciso configurar o funcionamento para esse modo, sendo assim, informe conforme abaixo em sua INI:

[PROBAT]
SOURCE_DISCOVERY_MODE=1

Depois, em cada fonte oficial e em qualquer função ou classe presentes no fonte utilizar a annotation [DiscoverySrc].

Exemplo:

@DiscoverySrc(folder="/my_project/src/date")
user function myDate()
...

Através da propriedade [folder] você irá informar qual o diretório na qual esse fonte está localizado.

Portanto através da reflection o PROBAT irá buscar todos os fontes que utilizam [DiscoverySrc] e assumirá como fontes oficiais do seu projeto.

Importante ressaltar que esse modo possui algumas limitações, vejamos:

  • Só funcionará com fontes .tlpp, pois Annotation e Reflection é um recurso exclusivo do TLPP.
  • Logo, fontes em ADVPL não serão encontrados por esse modo;
  • É preciso refatorar todos os seus fontes oficiais para a inserção do @DiscoverySrc().
  • Seu projeto precisa ser recompilado para que o recurso funcione.


Tabela SQLite

Ao descobrir os arquivos fontes oficiais, o PROBAT irá gravar os dados na seguinte tabela do SQLite.

Nome Tabela: PROBAT_CONFIG_SOURCES

CampoTipo DadoDescrição
CODENCódigo do fonte oficial (uso interno)
FOLDERCFolder de localização do fonte
SOURCECNome do arquivo fonte
NAMESPACECNamespace usada no fonte
  • Sem rótulos