Árvore de páginas

DISPONÍVEL A PARTIR DA VERSÃO 17.3.0.9 

Ferramenta de compilação por linha de comando embutida no AppServer para acesso e manipulação de recursos relacionados a compilação, geração e aplicação de patch, defrag de rpo e etc.

Principais características:

  • Não tem comunicação cliente/server TCP, os comandos são executados diretamente no AppServer.
  • Ambiente simples que necessita apenas do appre, binário do appserver e arquivo de configuração "appserver.ini".
  • Compilação mais rápida.
  • Suporte a atual chave de compilação utilizada pelo TDS e TDSCli.
  • Chave de compilação para Linux utilizando criptografia AES 256bits.
  • Compatível com Sistemas Operacionais Windows e Linux.

Compilação

Parâmetros:

NomeDescriçãoObrigatório
-compileNecessário para inicialização da ferramentaSim
-files

Informa quais fontes serão compilados podendo ser informado das seguintes formas:

  • Arquivo Lst 
  • Pastas (Diretórios e sub-diretórios). Obs: O que não é programa será compilado como resource.
  • Arquivo único (fonte ou resource).
Sim
-includesInforma o diretório de includes usado durante a o pré-processamento dos fontes.Sim
-src


-envInforma o ambiente que deverá ser acessado para compilação.Sim
-nodelfilesUtilizado para debug, caso informado, não deleta os arquivos gerados durante o pré-processamento e também mantem os arquivos temporários .Lst gerados durante o processo.


Não


-authorizationInforma a chave de compilação no formato de arquivo .aut, padrão TDS / TDSCli ou, o token de compilação no formato de arquivo .token, no padrão JWT.Não

A PARTIR DA VERSÃO 20.3.2.0, NÃO SERÁ MAIS UTILIZADA A AUTORIZAÇÃO DA CHAVE DE COMPILAÇÃO.

-outreportGera os arquivos compile_sucess.log, que contem a lista de fontes compilados com sucesso no formato do arquivo .lst, e compile_errors.log, que contem a lista de fontes não compilados e os erros de compilação. A partir da versão 17.3.0.19, também é possível definir o diretório de saída para esses arquivos.Não

DISPONÍVEL A PARTIR DA VERSÃO 17.3.0.15


Arquivo .Lst:

Tipo de arquivo com extensão .lst que pode conter uma lista de fontes e resources no formato de path absoluto, ou diretórios para compilação. Quando houverem diretórios, um novo arquivo .lst temporário com prefixo _generated será gerado para a extração dos arquivos contidos no diretório informado, compondo assim uma nova lista de arquivos a serem compilados. Por meio do parâmetro nodelfiles, é possível manter também esses arquivos temporários para análise.

O conteúdo do arquivo deverá respeitar as seguintes regras:

  • Usar separador ' ; '
  • Todos caminhos de arquivos ou diretórios devem ser inseridos em uma única linha com separador no final.


Veja o exemplo de arquivo anexado: exemplo.lst


Exemplos:

appserver.exe -compile -files=D:\totvs\lobo-guara\cmdline\teste.prw -includes=C:\totvs\lobo-guara\Include -src=D:\totvs\lobo-guara\cmdline -env=environment

appserver.exe -compile -files=D:\totvs\lobo-guara\cmdline -includes=C:\totvs\lobo-guara\Include -src=D:\totvs\lobo-guara\cmdline-env=environment

appserver.exe -compile -files=D:\totvs\lobo-guara\cmdline\lista.lst -includes=C:\totvs\lobo-guara\Include -src=D:\totvs\lobo-guara\cmdline -env=environment


Chave de compilação:

Observação:

A partir da versão 20.3.2.0, os recursos de geração e de autenticação por meio de uma chave de compilação foram descontinuados. Será utilizado somente o token de compilação. 

Compatível com a chave de compilação gerada e utilizada no TDS e TDSCli. Para a utilização da ferramenta Compile, é preciso exportar as informações de uma nova ou já existente chave criando um arquivo com extensão .aut. No Linux, é utilizado o mesmo padrão de criação de chave realizando o controle pelo UUID do disco porem, a chave é criada e criptografada utilizando algoritmo AES 256bits.

Exemplos:

Windows

[AUTHORIZATION]
ID=FA15-EB7C
GENERATION=12/02/2019
VALIDATION=13/05/2019
PERMISSION=1
KEY=042MQC032QYIQ74A1E7671302

Baixar exemplo.

Linux

[AUTHORIZATION]
ID=d40f3aa2-d5ae-4a0b-a0f5-a44e29bcd344
GENERATION=20/02/2019
VALIDATION=21/05/2019
PERMISSION=1
KEY=gjvqs3U7vInn/VcX9Hl0Av2is+mLrr4j/BxHMdyR7uPaOcQC7OVtTIWhIMU0/5AkfipUxQukozs121WVNafNyQ==

Baixar exemplo.


Para criação de uma nova chave no Linux, será necessário a coleta do UUID onde a ferramenta está instalada e posteriormente entrar em contato com a Tecnologia - AppServer

Comando para obtenção do UUID no linux:

./appsrvlinux -compile -uuid

Geração de Patch:

Recurso para geração de path. Por default, os patchs serão gerados na pasta "cmdgenpatch" dentro do Environment.

Parâmetros:

NomeDescriçãoObrigatório
-compileNecessário para inicialização da ferramentaSim
-genpatchIndica geração de PatchSim
-files

Informa os programas que irão compor o patch da seguinte forma:

  • Arquivo .lst contendo os programas que deverão compor o Patch. Neste arquivo, apenas os nomes dos programas respeitando:
    • Usar separador ' ; '
    • Todos nomes de programas devem ser inseridos em uma unica linha com separador no final.
  • Um único nome de programa ou mais, separados por ";"
Sim
-envInforma o ambiente que deverá ser acessado para compilação.Sim
-patchtypeExtensão de patch: ptm, upd ou pak.  Por default, é gerado com extensão ptm.Não
-outgenpatchPermite a definição de um diretório de output.Não

DISPONÍVEL A PARTIR DA VERSÃO 17.3.0.19

Exemplos:

appserver.exe -compile -genpatch -files=D:\totvs\lobo-guara\sources\mainfunc.prw -env=environment -patchtype=ptm

appserver.exe -compile -genpatch -files=D:\totvs\lobo-guara\sources\mainfunc.prw;teste.prw -env=environment -patchtype=ptm

appserver.exe -compile -genpatch -files=D:\totvs\lobo-guara\patch.lst -env=environment -patchtype=ptm

appserver.exe -compile -genpatch -files=D:\totvs\lobo-guara\patch.lst -env=environment -patchtype=ptm -outgenpatch=d:\patchs\teste1

Validação de Patch DISPONÍVEL A PARTIR DA VERSÃO 17.3.0.20

Este recurso permite ao desenvolvedor adicionar uma etapa de verificação do Patch antes de aplicá-lo. O resultado dessa verificação pode ser armazenado em um arquivo Log e analisado posteriormente.

Parâmetros:

NomeDescriçãoObrigatório
-compileNecessário para inicialização da ferramentaSim
-validatePatchIndica Validação de PatchSim
-files

Informa o patch a ser aplicado com extensão  ("PTM", "UPD" E "PAK").

Sim
-envInforma o ambiente que deverá ser acessado para compilação.Sim
-outreportGera o arquivo patch_errors.log contendo o resultado da verificação de patch. Também é possível definir o diretório de saída para esse arquivo.Não

Exemplo:

appserver.exe -compile -validatepatch -files=D:\totvs\patch\tttp120.ptm -env=advplc -outreport

Aplicação de Patch

Recurso para aplicação de Patch.

Parâmetros:

NomeDescriçãoObrigatório
-compileNecessário para inicialização da ferramentaSim
-applypatchIndica aplicação de PatchSim
-files

Informa o patch a ser aplicado com eextensão  ("PTM", "UPD" E "PAK").

Sim
-envInforma o ambiente que deverá ser acessado para compilação.Sim
-applyoldprogramInforma que serão aceitos fontes mais antigos que o RPO. Por default, aceita somente os fontes mais novos.Não
-cbfilesInterno. Não é possível utilizar sem o token interno da TOTVS.Não

DISPONÍVEL A PARTIR DA VERSÃO 20.3.1.3

Exemplo:

appserver.exe -compile -applypatch -files=D:\totvs\patch\tttp120.ptm -env=advplc -applyoldprogram

Desfragmentação RPO DISPONÍVEL A PARTIR DA VERSÃO 17.3.0.15

Recurso DefragRPO para desfragmentação de RPO.

Parâmetros:

NomeDescriçãoObrigatório
-compileInicialização da ferramenta.Sim
-defragrpoIndica desfragmentação de RPO.Sim
-envInforma o ambiente que deverá ser desfragmentado.Sim

Exemplo:

appserver.exe -console -compile -defragrpo -env=advplc