Pular para conteúdo

Build e Compilação

Status: parcial — afirmações verificadas, com lacunas declaradas. [n · F] remete à fonte n da lista de fontes; a letra marca a procedência: F fato em fonte oficial TOTVS/TDN · S fonte secundária (blog, fórum) · unverified sem fonte que sustente.

Escopo desta seção

Encoding dos fontes, estruturas de include, o arquivo appserver.ini e uma visão de conjunto de uma instalação Protheus conteinerizada.

Encoding: CP-1252, sem exceção

  • Os compiladores Protheus (AdvPL, AdvPL Asp, 4GL e 4GLP) suportam apenas arquivos com código de página CP1252.[24 · F]
  • No TDS, o bloco "Text file encoding" da workspace deve estar ajustado para "Cp1252".[24 · F]
  • Enquanto houver erro de codificação, o arquivo não será salvo.[24 · F]
  • O repositório oficial de skills repete a regra como norma: todo fonte AdvPL/TLPP (.prw, .prg, .prx, .tlpp, .ch, .aph) deve usar CP-1252, e o compilador RDMake/AppServer espera Windows-1252.[50 · F]

O sintoma clássico

Fonte salvo em UTF-8 com acento: o arquivo não é salvo ou o acento corrompe em produção. Vale para o repositório inteiro, exemplos incluídos. A skill utf8-to-cp1252-conversion (em skills/) faz a conversão em lote.

Includes

  • Sobre qual include usar: RWMAKE.ch é a mais antiga e não é mais recomendada; PROTHEUS.ch e TOTVS.ch são as atuais.[57 · F]
  • Os includes do TLPP são extraídos com tlpp.environment.getIncludesTLPP, que gera o diretório includes dentro do RootPath do ambiente.[25 · F]

appserver.ini

  • No appserver.ini, recomenda-se que o nome do binário e o do arquivo de configuração sejam idênticos e comecem por "appserver".[26 · F]
  • A nomenclatura varia por produto: appserver.ini no TOTVS Application Server, totvsappserver.ini no TOTVS Application Server e mp8srv.ini no Microsiga Protheus Server.[26 · F]
  • A partir da build 17.3.0.14 existe um ini customizado que sobrepõe o ini tradicional, o IniCustomization.[26 · F]

Protheus em Docker — visão de conjunto

  • Arquitetura de uma instalação Protheus 12.1.2510 com PostgreSQL em Docker: WebAgent, AppServer, DBAccess (TopConnect), PostgreSQL e License Server.[36 · S]

Fonte secundária

[36] é blog de terceiro: útil como visão de conjunto, não como norma TOTVS. Não há página TOTVS lida sobre "Protheus em Docker" nesta passada.

Lacunas declaradas

Lacuna: o procedimento oficial de compilação RDMake passo a passo (via TDS ou linha de comando) não foi coletado. Existem apenas a FAQ de includes[57] e o guia de ambiente TLPP[25].

Lacuna: depuração no SmartClient/Webapp não tem fonte coletada.

Fontes

[24] · [25] · [26] · [36] · [50] · [57] — ver lista completa.