Skip to content

Latest commit

 

History

History
137 lines (94 loc) · 7.04 KB

compilation.md

File metadata and controls

137 lines (94 loc) · 7.04 KB

TDS: Compilação

Requisitos

  • servidor/ambiente conectado
  • usuário autenticado (se requerido)
  • pastas para buscas de arquivos de definição (includes)
  • acesso exclusivo ao RPO
  • token de compilação (apenas para functions e main functions)

Recomenda-se que pastas e arquivos não contenham caracteres especiais e/ou acentuados e sempre em mínusculas de forma a manter a compatibildade entre os diversos sistemas operacionais suportados pelo TDS-VSCode e seus componentes. Leia Convenção para nomenclatura de File System em ambiente Linux.

Nota

Arquivos fontes 4GL ignoram a pasta para buscas.

Drives Locais

Não se deve utilizar drives de rede compartilhados ou drives na nuvem (Google Drive, OneDrive, etc.), pois eles podem causar comportamentos adversos como a compilação parcial de um fonte, por exemplo.

Sobre o uso de chaves e tokens de compilação

As chaves de compilação ou tokens de compilação empregados na construção do Protheus e suas funcionalidades, são de uso restrito dos desenvolvedores de cada módulo.

Em caso de mau uso destas chaves ou tokens, por qualquer outra parte, que não a referida acima, a mesma irá se responsabilizar, direta ou regressivamente, única e exclusivamente, por todos os prejuízos, perdas, danos, indenizações, multas, condenações judiciais, arbitrais e administrativas e quaisquer outras despesas relacionadas ao mau uso, causados tanto à TOTVS quanto a terceiros, eximindo a TOTVS de toda e qualquer responsabilidade.

Compilando fonte do editor corrente

Para recompilar o fonte do editor corrente, acione o atalho CTRL + F9 (ou CTRL + SHIFT + F9 para compilar) ou CTRL + SHIFT + P e execute o comando TOTVS: Recompile File/Folder para recompilar (ou o comando TOTVS: Compile File/Folder para compilar).

A compilação acionada no editor, sempre irá recompilar o fonte em foco.

Compilando todos os fontes abertos

Para recompilar todos os fontes abertos para edição, acione CTRL + F10 ou CTRL + SHIFT + P e execute o comando TOTVS: Recompile Open Editors. Para compilar, acione CTRL + SHIFT + F10 (ou o comando TOTVS: Compile Open Editors para compilar).

Compilando arquivos não abertos para edição ou pastas

  • Na visão Explorer, selecione um ou mais arquivos (ou pastas)
  • Acione o menu de contexto (botão direito do mouse) sobre a seleção e acione a opção Recompilar ....

Para compilar, pressione a tecla ALT ou SHIFT antes de acionar o menu de contexto. As opções serão alteradas para Compilar ....

Resultado da compilação

Após a compilação de múltiplos arquivos, existe a opção de abrir uma tabela com informações de todos os arquivos que foram compilados. Para exibir essa tabela, selecione mais de um arquivo, execute a ação e após a recompilação/compilação lhe será questionado a apresentação ou não dos resultados.

ShowCompileResult

Ao confirmar, uma tabela de resultados semelhante a abaixo será exibida, ordenada pela coluna de resultado.

TableCompileResult

Acesso exclusivo ao RPO

Para compilar necessitamos de acesso exclusivo ao RPO. Caso contrário, o Application Server retornará um erro de:

It wasn't possible to obtain exclusive access to the objects repository

Nesse caso você precisará desconectar todos os usuário (inclusive JOBS) que estejam acessando o RPO.

Uma forma mais simples é configurar a chave BuildKillUsers na seção GENERAL do Application Server e ele fará a desconexão de todos os usuários (e JOBS) antes de efetuar a compilação.

Configurações de Compilação

O processo de compilação pode ter o seu comportamento modificado, acessando File | Preferences | Settings | Extensions | TOTVS. Ao lado esquerdo, selecione a opção e configure conforme desejado.

Opções

  • ..| Clear Console Before Compile: limpar o console antes de iniciar o processo
  • ..| Ask Compile Result: solicita se deseja ver a tabela de resultados da compilação
  • ..| Generate PPO file: gera o arquivo de pré-processamento (PPO)
  • ..| Show pre compiler: apresenta o um log mais detalhado do processo
  • ..| Enable extension filter: ativa o filtro para compilar apenas as extensões reconhecidas pelo editor e/ou plataforma Protheus
  • ..| Extension Allowed: lista de extensões permitidas
  • ..| Show console on compile: força a apresentação do console ao iniciar a compilação

Compilação de Function e Main Function

Este processo está em revisão e pode sofrer alterações.

Para compilar arquivos fontes que contenham functions e/ou main function vovê precisa ter uma chave chave de compilação (ou autorização).

A partir de 17/05/2019 todas as chaves devem ser regeradas utilizando o ID exibido neste assistente. Isse se faz necessário devido a inclusão do suporte de chave em em Linux e MAC, implementado nesta data.

Compile Key

Solicitação

  • Na visão de Servers, acione o menu de contexto e a opção Compile Key ou CTRL + SHIFT + P e execute TOTVS: Compile Key ou na barra de status o texto Permissions:
  • Lhe será apresentado o assistente para aplicação de chave. Você enviará o ID da instalação que lhe foi dado para o responsável por geração de chaves (informe-se com o seu superior)
  • Aguarde o recebimento do arquivo de autorização (*.aut)

Aplicação

  • Na visão de Servers, acione o menu de contexto e a opção Compile Key ou CTRL + SHIFT + P e execute TOTVS: Compile Key ou no texto Permissions: na barra de status
  • Lhe será apresentado o assistente para aplicação de chave
  • Informe o arquivo de autorização (*.aut)
  • Acione o botão de Validate para verificar se a chave é válida
  • Se ela foi aceita, acione Save ou Save/Close

Pode remover a chave atual, acionando Clean Key.

Configuração de Include (busca de arquivos de definição)

  • Na visão de Servers, acione o menu de contexto e a opção Include ou acione CTRL + SHIFT + P e execute TOTVS: Include.
  • Informe a pasta (ou pastas) para a busca dos arquivos de definição, separadas por ;

A configuração efetuada via assistente será aplicado em todos os servidores e ambientes por padrão.

Configure Include

Para configurar por servidor, abra para edição o arquivo %USERHOME%/.totvsls/servers.json ou acione o menu de contexto e a opção Configure Server View.

Localize a definição do servidor na sessão configurations e adicione/modifique a chave "includes", com a lista de pastas a ser utilizada.

{
  ...
  "configurations": [
  {
    "id": "aq9s9aca8qkasjpnxl7rghymvx3bq",
    "type": "totvs_server_protheus",
    ...
    "includes": [
      "C:/totvs/includes1",
      "C:/totvs/includes2",
      "C:/totvs/includes3"
    ],
    ...
  },
  ...
}