Skip to content

Trabalhando com Patchs

Rodrigo Antonio Godinho da Silva edited this page Jan 30, 2020 · 15 revisions

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:

Apply Patch AdvPL VsCode

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?

Aplicar somente 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:

Console Log pós aplicação de Patch

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.