INTRODUÇÃO
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.
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 .
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
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.
- É 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.
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.
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âmetro | Descrição | Requerimento |
---|---|---|
INCLUDE | PASTA DE INCLUDES | OBRIGATÓRIO |
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE PARA COMPILAÇÃO | OBRIGATÓRIO |
PROGRAM | CAMINHO PARA O ARQUIVO A SER COMPILADO | OBRIGATÓRIO *** |
PROGRAMLIST | CAMINHO DO ARQUIVO COM A LISTA DE COMPILAÇÃO | OBRIGATÓRIO *** |
AUTHORIZATION | CAMINHO PARA CHAVE DE COMPILAÇÃO .AUT | OPCIONAL |
RECOMPILE | FORÇ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 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 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 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.
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âmetro | Descrição | Requerimento |
---|---|---|
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE PARA REMOÇÃO | OBRIGATÓRIO |
PROGRAM | CAMINHO PARA O ARQUIVO A SER REMOVIDO | OBRIGATÓRIO |
AUTHORIZATION | CAMINHO PARA CHAVE DE COMPILAÇÃO .AUT | OPCIONAL |
Para deletar vários arquivos de uma só vez, basta separá-los por ponto e vírgula.
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âmetro | Descrição | Requerimento |
---|---|---|
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE PARA GERAÇÃO | OBRIGATÓRIO |
FILERESOURCE | NOME DO ARQUIVO QUE IRÁ PARA O PATCH | OBRIGATÓRIO |
PATCHTYPE | EXTENSÃO DE PATCH ("PTM", "UPD" E "PAK") | OBRIGATÓRIO |
SAVELOCAL | DIRETÓRIO PARA SALVAR O PATCH LOCALMENTE | OBRIGATÓRIO *** |
SAVEREMOTE | CAMINHO RELATIVO PARA SALVA DE PATCH NO SERVIDOR | OBRIGATÓ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 REMOTE
Para salvar no servidor o patch gerado, utilize o parâmetro SAVEREMOTE, passando o caminho relativo no servidor onde o patch será salvo.
APLICAÇÃO DE PACOTE
Aplica o patch em servidor escolhido.
Parâmetro | Descrição | Requerimento |
---|---|---|
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE PARA APLICAÇÃO | OBRIGATÓRIO |
LOCALPATCH | "T" PARA PATCH SALVO LOCAL "F" PARA PATCH SALVO REMOTE | OBRIGATÓRIO |
PATCHFILE | CAMINHO 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 DE PATCH REMOTE
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âmetro | Descrição | Requerimento |
---|---|---|
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE | OBRIGATÓRIO |
LOCALPATCH | "T" PARA PATCH SALVO LOCAL "F" PARA PATCH SALVO REMOTE | OBRIGATÓRIO |
PATCHFILE | CAMINHO COMPLETO DO PATCH COM EXTENSÃO | OBRIGATÓRIO |
OUTPUT | GRAVA AS INFORMAÇÕES DO PATCH EM UM ARQUIVO ESPECÍFICO | OPCIONAL |
DESFRAGMENTAÇÃO DE RPO
Parâmetro | Descrição | Requerimento |
---|---|---|
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE A SER DESFRAGMENTADO | OBRIGATÓRIO |
Esse procedimento pode ser feito em mais de um ambiente, separando-os por ponto e vírgula (;)
LIMPAR O HISTÓRICO DO RPO
Parâmetro | Descrição | Requerimento |
---|---|---|
SERVERTYPE | TIPO DE SERVIDOR (ADVPL OU 4GL) | OBRIGATÓRIO |
SERVER | IP OU NOME DA MÁQUINA | OBRIGATÓRIO |
BUILD | BUILD DO SERVIDOR | OBRIGATÓRIO |
PORT | PORTA DO SERVIDOR | OBRIGATÓRIO |
USER | USUÁRIO DO SERVIDOR | OBRIGATÓRIO |
PSW | SENHA DO SERVIDOR | OBRIGATÓRIO |
ENVIRONMENT | AMBIENTE A SER LIMPO | OBRIGATÓRIO |
Para utilizar essa funcionalidade em vários ambiente, separe-os por ponto e vírgula.