Árvore de páginas

INTRODUÇÃO

Término do suporte ao TDSCli-Eclise

  • O suporte ao TDSCli (linha de comando) Eclipse 11.3 se encerra em 31/12/2020
  • O TDSCli distribuido no pacote TDS-Eclipse 11.3.12 é compatível com AppServer menor ou igual à release 17.x.x.
  • Para o uso com AppServer release 19.x.x é preciso utilizar o TDSCli distribuido no pacote TDS-Eclipse 11.3.15,
    que passa a ser um 
    plug-in do Eclipse, mais detalhes quanto à instalação clique aqui.
  • A partir de Janeiro/2021 nossa extensão para o editor VSCode passa a ser a única IDE suportada,
    e a ferramenta de linha de comando advpls ira substituir o TDSCli-Eclipse, mais informações sobre o advpls clique aqui,
    mais informações sobre o plugin de desenvolvimento AdvPL para VSCode, clique aqui.

O TDSCLI.JAR deve estar na mesma pasta de instalação do TDS.

Os comandos devem ser executados na pasta onde foi instalado o TDS.

Como exemplo usaremos a pasta "C:\TOTVS\TOTVS Developer Studio\", como local de instalação e sistema operacional Windows. Nos demais sistemas operacionais os procedimentos são os mesmos mudando somente a forma de acessar a pasta do TDS.


COMPATIBILIDADE

O TDSCLI funciona com todos servidores TOTVS (Protheus e Logix).

Nesse exemplo iremos utilizar um servidor Protheus, mas também poderemos utilizar servidores Logix. A única mudança é que os parâmetros de user e psw não são obrigatórios


SINTAXE DE USO

Os parâmetros requeridos variam de acordo com o comando escolhido. Para saber quais são, utilize o -help.

java -jar tdscli.jar command parameters

O -help traz os parâmetros requeridos do comando.

java -jar tdscli.jar command -help

A opção @file é utilizada para receber um arquivo de parâmetro que contenha todos os parâmetros utilizado no comando.

java -jar tdscli.jar command @file

BÁSICO

TDSAPPRE

Para utilização de alguns comandos, é necessário setar a variável de ambiente TDS_APPRE com o diretório de instalação do TDS .

Para setar a variável de ambiente, execute a linha

SET TDS_APPRE=C:\TOTVS\TOTVS Developer Studio\

OBS

A variável deve conter o verdadeiro diretório de instalação do TDS. Não é necessário aspas.

PARÂMETROS

Os parâmetros são separados apenas por espaço após o valor. Caso algum parâmetro não tenha valor, ou seja branco, apenas coloque o espaço para o próximo parâmetro, como no exemplo abaixo.

Todas as barras devem ser para a direita. 

Caso o valor tenha espaços, coloque-o todo com aspas, exemplo: parametro="valor com espaco", parametro2=valorSemAspas

java -jar tdscli.jar command parametro1=valor parametro2= parametro3=valor

LOG

Caso queira gerar um log da execução do comando, pode ser o utilizado o -logToFile=valor.

Esse comando gera um arquivo no formato texto contendo informações sobre a execução. 

Exemplo de Uso

java -jar tdscli.jar compile includes=D:/Servers/Protheus/includes serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 program=D:/Fontes/ADVPL/NEW_1.PRW authorization="D:/Chave de compilacao/chave.aut" -logToFile=D:/LogTesteTDS/logSimples.log

  • É obrigatório a utilização do hífen "-" antes do comando, ficando -logtofile.
  • É necessário informar a extensão do arquivo. Ex: .log, .txt
  • Caso o diretório tenha espaços, é obrigatório o uso das aspas.
  • Esse parâmetro não pode ser inserido no arquivo de parâmetros.

ARQUIVO DE PARÂMETROS

Utilizaremos o comando de compilação somente para demonstração.

Cada comando será detalhado em sua seção. 

O arquivo de parâmetros serve para substituir os parâmetros na linha de comando, afim de minimizar o tamanho da linha e separar os parâmetros em um único lugar e arquivo.

Regras

  • Pode ser utilizado para qualquer comando, desde que os parâmetros dentro do arquivo sejam válidos para o comando utilizado.
  • Deve ter o formato texto puro (.txt) e tem que estar no mesmo diretório raiz que o TDSCLI.JAR. 

Exemplo Chamada

java -jar tdscli.jar command @compilacao.txt

Regras de Sintaxe

  • TODAS as barras devem ser para o lado direito. (Exceto para separar a lista de fontes).
  • Para os comentários utilize #. Linha 14 .
  • Não existe aspas ou apóstrofo no arquivo. Linha 12.
  • Deve se respeitar a estrutura: parametro=valor.
  • Cada parâmetro deve ficar em uma linha.
  • Espaços não necessitam de barra invertida ou aspas. Linha 12.
  • Os parâmetros não utilizados podem ser apagados ou comentados. Linha 13.
  • Caso algum parâmetro não tenha valor, apenas pule de linha. Linha 7.
  • Se for necessário passar mais de um arquivo em algum parâmetro, separe-os por linha e ao final de cada linha coloque ;\ menos na ultima. Linha 9 à 11.
Exemplo Arquivo
includes=D:/Servers/Protheus/includes
serverType=AdvPL
server=127.0.0.1
build=7.00.131227A
port=1312
user=admin
psw=
environment=P11
program=D:/Fontes/ADVPL/NEW_1.PRW;\
D:/Fontes/ADVPL/NEW_2.PRW;\
D:/Fontes/ADVPL/NEW_3.PRW
authorization=D:/Chave de compilacao/chave.aut
#recompile=t
#COMENTÁRIO



COMPILAÇÃO

O comando de compilação é utilizado tanto para fontes quanto para recursos, em qualquer servidor.

ParâmetroDescriçãoRequerimento
INCLUDEPASTA DE INCLUDESOBRIGATÓRIO
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTE PARA COMPILAÇÃOOBRIGATÓRIO
PROGRAMCAMINHO PARA O ARQUIVO A SER COMPILADO

OBRIGATÓRIO ***

PROGRAMLIST

CAMINHO DO ARQUIVO COM A LISTA DE COMPILAÇÃO

OBRIGATÓRIO ***
AUTHORIZATIONCAMINHO PARA CHAVE DE COMPILAÇÃO .AUTOPCIONAL
RECOMPILEFORÇA A RECOMPILAÇÃO DO ARQUIVO( T OU F)OPCIONAL

Observação ***

Os parâmetros PROGRAM e PROGRAMLIST não podem ser utilizados juntos, deve ser escolhido apenas um.

AUTHORIZATION

Dependendo do arquivo a ser compilado, é necessário utilizar a chave de compilação com o parâmetro AUTHORIZATION.

Deve ser utilizado contendo o caminho da chave com extensão.

COMPILAÇÃO SIMPLES

Para compilação de apenas um arquivo, o parâmetro PROGRAM é obrigatório, ele deve conter o caminho do arquivo a ser compilado com extensão.

Compilação Simples

java -jar tdscli.jar compile includes=D:/Servers/Protheus/includes serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 program=D:/Fontes/ADVPL/NEW_1.PRW authorization="D:/Chave de compilacao/chave.aut" recompile=t

COMPILAÇÃO MÚLTIPLA

Podemos compilar vários arquivos em uma única linha de comando utilizando o parâmetro PROGRAM e separando cada caminho por ponto e vírgula.

Compilação Multipla

java -jar tdscli.jar compile includes=D:/Servers/Protheus/includes serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 program=D:/Fontes/ADVPL/NEW_1.PRW;D:/Fontes/ADVPL/NEW_2.PRW;D:/Fontes/ADVPL/NEW_3.PRW authorization="D:/Chave de compilacao/chave.aut" recompile=t -logToFile=D:/LogTesteTDS/logMultiplo.log

COMPILAÇÃO DE DIRETÓRIO

O parâmetro PROGRAM também aceita um diretório como valor.

 TODOS os arquivos que estiverem dentro desta pasta, incluindo subpastas, serão compilados.

Compilação de Diretório

java -jar tdscli.jar compile includes=D:/Servers/Protheus/includes serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 program=D:/Fontes/ADVPL authorization="D:/Chave de compilacao/chave.aut" recompile=t

COMPILAÇÃO DE LISTA DE ARQUIVOS

O parâmetro PROGRAMLIST server para receber o caminho de um arquivo no formato .TXT que contenha o caminho dos arquivos a serem compilados separados por linha.

Compilação de Lista

java -jar tdscli.jar compile includes=D:/Servers/Protheus/includes serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 programList=D:/lista.txt authorization="D:/Chave de compilacao/chave.aut" recompile=t

Exemplo do Arquivo de Lista
D:/Fontes/ADVPL/NEW_1.PRW
D:/Fontes/ADVPL/NEW_2.PRW
D:/Fontes/ADVPL/NEW_3.PRW
D:/Fontes/ADVPL/NEW_4.PRW
D:/Fontes/ADVPL/NEW_5.PRW

Regras da Lista

  • Cada arquivo deve estar em um linha.
  • TODAS as barras para a direita.
  • Não é necessário aspas.
  • Não é necessário separar com ponto e vírgula.
  • O formato deve ser TXT.

REMOVER PROGRAMAS DO RPO

Para remover um ou mais arquivos ou recursos do RPO, utilize o comando deleteProg.

ParâmetroDescriçãoRequerimento
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTE PARA REMOÇÃOOBRIGATÓRIO
PROGRAMNOME DO RECURSO/FONTE ou CAMINHO COM OS ARQUIVO A SEREM REMOVIDOS

OBRIGATÓRIO

AUTHORIZATIONCAMINHO PARA CHAVE DE COMPILAÇÃO .AUTOPCIONAL

Para deletar vários arquivos de uma só vez, basta separá-los por ponto e vírgula.

Deleção de arquivos

java -jar tdscli.jar deleteProg serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 program=NEW_1.PRW;NEW_2.PRW;NEW_3.PRW authorization="D:/Chave de compilacao/chave.aut" -logToFile=D:/LogTesteTDS/logDelete.log

Para apagar os arquivos do RPO que existam em uma determina pasta local, informe no lugar do nome do programa na chave program, o caminho completo da pasta.


GERAÇÃO DE PATCH

A geração de patch só leva em consideração os fontes existentes no RPO.

Caso o fonte não exista, o patch será gerado normalmente sem o fonte descrito.

Para gerar patch, utilize o comando PATCHGEN.

ParâmetroDescriçãoRequerimento
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTE PARA GERAÇÃOOBRIGATÓRIO
FILERESOURCENOME DO ARQUIVO QUE IRÁ PARA O PATCHOBRIGATÓRIO
PATCHTYPEEXTENSÃO DE PATCH ("PTM", "UPD" E "PAK")OBRIGATÓRIO
SAVELOCALDIRETÓRIO PARA SALVAR O PATCH LOCALMENTEOBRIGATÓRIO ***
SAVEREMOTECAMINHO RELATIVO PARA SALVA DE PATCH NO SERVIDOROBRIGATÓRIO ***

Observação ***

Os parâmetros SAVELOCAL e SAVEREMOTE não podem ser utilizados juntos, deve ser escolhido apenas um.

FILERESOURCE

O parâmetro FILERESOURCE recebe apenas o nome do arquivo que está no RPO com extensão.

Ex: fileresource=new_1.prw

Para passar múltiplos arquivos, separe-os com ponto e vírgula.

Ex: fileresource=new_1.prw;new_2.prw;new_3.prw

GERAÇÃO LOCAL

Para salvar localmente o patch gerado, utilize o parâmetro SAVELOCAL, passando o diretório no qual será salvo.

Geração Local

java -jar tdscli.jar patchgen serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 environment=P11 user=admin psw= fileResource=NEW_1.PRW;NEW_2.PRW;NEW_3.PRW savelocal=D:/Patchs patchType=ptm  

GERAÇÃO REMOTE

Para salvar no servidor o patch gerado, utilize o parâmetro SAVEREMOTE, passando o caminho relativo no servidor onde o patch será salvo. 

Geração Remote

java -jar tdscli.jar patchgen serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 environment=P11 user=admin psw= fileResource=NEW_1.PRW;NEW_2.PRW;NEW_3.PRW saveremote=/protheus_data/ patchType=ptm


APLICAÇÃO DE PACOTE

Aplica o patch em servidor escolhido.

ParâmetroDescriçãoRequerimento
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTE PARA APLICAÇÃOOBRIGATÓRIO
LOCALPATCH

"T" PARA PATCH SALVO LOCAL

"F" PARA PATCH SALVO REMOTE

OBRIGATÓRIO
PATCHFILECAMINHO COMPLETO DO PATCH COM EXTENSÃO

OBRIGATÓRIO

APPLYOLDPROGRAM

"T" PARA ACEITAR FONTES MAIS ANTIGOS QUE O RPO

"F" PARA ACEITAR SOMENTE OS MAIS NOVOS

OBRIGATÓRIO

APLICAÇÃO DE PATCH LOCAL

Aplicação Local

java -jar tdscli.jar patchapply serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 localPatch=T patchFile=D:/Patchs/tttp110.ptm applyOldProgram=F

APLICAÇÃO DE PATCH REMOTE

Aplicação Remote

java -jar tdscli.jar patchapply serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11 localPatch=F patchFile=/protheus_data/tttp110.ptm applyOldProgram=F

PATCHFILE

Repare que na aplicação via remote, o PATCHFILE é o caminho relativo do patch com extensão. Esse caminho será buscado no servidor.


LISTAR CONTEÚDO DO PATCH

Retorna quais os nomes dos arquivos que existem no patch, tipo do arquivo, build que foi compilado, data da ultima alteração do arquivo e tamanho.

Atenção

Funcionalidade disponível em build superior a "7.00.121227P" do servidor Protheus.

ParâmetroDescriçãoRequerimento
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTEOBRIGATÓRIO
LOCALPATCH

"T" PARA PATCH SALVO LOCAL

"F" PARA PATCH SALVO REMOTE

OBRIGATÓRIO
PATCHFILECAMINHO COMPLETO DO PATCH COM EXTENSÃO

OBRIGATÓRIO

OUTPUTGRAVA AS INFORMAÇÕES DO PATCH EM UM ARQUIVO ESPECÍFICOOPCIONAL

PatchInfo

java -jar tdscli.jar patchinfo serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=p11 localPatch=T patchFile=D:/Patchs/tttp110.ptm output=D:/Patchs/infoPatch.txt


DESFRAGMENTAÇÃO DE RPO 

ParâmetroDescriçãoRequerimento
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTE A SER DESFRAGMENTADOOBRIGATÓRIO

Esse procedimento pode ser feito em mais de um ambiente, separando-os por ponto e vírgula (;)

Desfragmentação de RPO

java -jar tdscli.jar defragRPO serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11;P112


LIMPAR O HISTÓRICO DO RPO

ParâmetroDescriçãoRequerimento
SERVERTYPETIPO DE SERVIDOR (ADVPL OU 4GL)OBRIGATÓRIO
SERVERIP OU NOME DA MÁQUINAOBRIGATÓRIO
BUILDBUILD DO SERVIDOROBRIGATÓRIO
PORTPORTA DO SERVIDOROBRIGATÓRIO
USERUSUÁRIO DO SERVIDOROBRIGATÓRIO
PSWSENHA DO SERVIDOROBRIGATÓRIO
ENVIRONMENTAMBIENTE A SER LIMPOOBRIGATÓRIO

Para utilizar essa funcionalidade em vários ambiente, separe-os por ponto e vírgula.

Limpeza de histórico

java -jar tdscli.jar clearLog serverType=AdvPL server=127.0.0.1 build=7.00.131227A port=1312 user=admin psw= environment=P11;P112

  • Sem rótulos