Trabalhando com Patchs - totvs/advpl-vscode GitHub Wiki
A seguir veremos com gerar os patches e como aplicar os mesmos.
Configuração
Antes de gerar o patch lembre-se de configurar a seguinte chave nas configurações do Json:
"advpl.pathPatchBuild": "c:\\patchs\\"
C:\patchs é o padrão.
Obs. O diretório precisa existir. Ele não será criado.
Criando um patch
Para gerar um patch devemos criar um novo arquivo com a extensão(.txt). E colocarmos o nome com extensão de cada arquivo que queremos gerar, 1 por linha.
Por exemplo, para gerar um patch com com os fontes fwapp
e fwformview
, criamos um arquivos assim:
fwapp.prw
fwformview.prw
Após criar e salvar o arquivo devemos seleciona-lo para a geração. Para fazer isso, devemos procurar o arquivo no lado esquerdo (no explorer do VsCode) clicar com o botao direto sobre o arquivo, e selecionar a opção:
Advpl - Patch - Build - Cria um patch Patch(PTM) da lista de arquivo.
Obs.: Dessa maneira, podemos deixar vários arquivos com diversos configurações de patch e selecionar o que precisa para gerar;
Aplicar
Via Seleção de Arquivo:
Na barra de título do Editor, há um ícone para aplicação de Patch com seleção de arquivo:
A chamada também pode ser via comando:
Advpl - Aplicar Patch (PTM)
Após a seleção do arquivo (somente extensões .ptm são aceitas) o Patch será aplicado no ambiente ativo.
Para visualizar os resultados, abra o console em View->OutPut (Ctrl+Shift+U) do lado direito, escolha no combo box Advpl ou visualize no Console Log do AppServer.
Via File Explorer:
Com o ambiente correto selecionado, basta achar o arquivo do patch no explorer do VsCode, clicar com o botão direito clicar em:
Advpl - Patch - Apply - Aplica um Patch(PTM).
Para visualizar os resultados, abra o console em View->OutPut (Ctrl+Shift+U) do lado direito, escolha no combo box Advpl ou visualize no Console Log do AppServer.
Somente Atualizados:
A partir da Versão 0.14.0, a extensão permite aplicar somente fontes atualizados do Patch.
Importante:
- Essa funcionalidade só está disponível na versão Alpha. Para utilizar habilite a configuração
"advpl.alpha_compile": true
- Após alterar essa configuração, será necessário refazer o
passwordCipher
dos ambientes
Após a aplicação via File Explorer ou Seleção de Arquivo, o usuário será questionado se deseja Aplicar somente fontes atualizados?
Sim: Aplica somente arquivos do Pacote que estão mais atualizados que os fontes do RPO.
Não: Sobrescreve todos os fontes do Pacote no RPO.
Caso a extensão aplique arquivos antigos no RPO, o seguinte alerta será exibido no console:
Patch successful apply! Look at the appserver log for more information. ATTENTION!!! - Old programs have been applied
Caso deseje analisar mais a fundo quais ações foram tomadas para cada arquivo do Patch, basta analisar o Console Log do AppServer:
Inspecionar as informações contidas no patch
Com o ambiente correto selecionado, basta achar o arquivo do patch no explorer do VsCode, clicar com o botão direito clicar em:
Advpl - Patch Info - Mostra o conteudo de um pacote/Patch(PTM).
Um novo arquivo chamado patchInfo.log será criado na workspace com o resultado da analise do patch, mostando os fontes e suas respectivas datas.