SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Aplicando
patches de
correção
no Magento 2
com
composer
Aplicando
patches de
correção
no Magento 2
com
composer
BUG
Fonte: https://www.mage2stats.com/#issues
Bug
Fonte: https://www.mage2stats.com/#pullrequests
Bug
PLUGIN
Plugin
❏ Uma classe que modifica o comportamento de funções públicas
de classes;
❏ Intercepta uma chamada de função, executando um código antes,
depois ou em torno dessa chamada;
❏ Permite que se substitua ou estenda o comportamento de
métodos públicos para qualquer classe ou interface.
❏ Objetos que são instanciados antes da classe
MagentoFrameworkInterception;
❏ Métodos Finais;
❏ Qualquer método de classes finais;
❏ Qualquer classe que contenha pelo menos um método público
final;
❏ Métodos não públicos;
❏ Métodos estáticos;
❏ __constructor;
❏ Virtual types.
Plugin -Limitações
Preferences
Preferences
❏ Parecido com rewrites do Magento 1;
❏ Permitem que se substitua uma instância de uma classe por outra
dentro do Magento 2;
❏ Recurso muito poderoso, mas também vem com a mesma
responsabilidade do Magento 1;
Preferences - Limitações
❏ Dois módulos não podem reescrever a mesma classe;
❏ Dois módulos reescrevendo uma mesma classe, haverá um
conflito.
Can't change the applied theme in 2.2.4 #14968
Fonte: https://github.com/magento/magento2/issues/14968
cweagans/composer-patches
cweagans/composer-patches
❏ Leva um tempo para incluir uma correção de bug feita no GitHub
em uma versão do Magento 2 Composer;
❏ Criar um patch a partir do GitHub e usar o plugin para aplicá-lo em
uma instalação do Magento 2 baseada em Composer.
Fonte: https://support.magento.com/hc/en-us/articles/360005484154
cweagans/composer-patches
❏ Criar uma pasta no diretório raiz da instalação do Magento
chamada vendor_patches
cweagans/composer-patches
❏ Acrescente a extensão .diff ao final do PR ou do commit
cweagans/composer-patches
❏ Crie um arquivo com a extensão .diff dentro da pasta
vendor_patches e insira o conteúdo do diff do GitHub
cweagans/composer-patches
❏ Edite o arquivo e remova app/code/<VENDOR>/<PACKAGE> de
todos os caminhos que são relativos ao
vendor/<VENDOR>/<PACKAGE> directory
cweagans/composer-patches
❏ Adicione o plugin cweagans/composer-patches ao arquivo de
composer.json
composer require cweagans/composer-patches
cweagans/composer-patches
❏ Edite o arquivo composer.json e insira:
❏ Módulo: "magento/module-email"
❏ Título: "PR-15137 - Can't change the applied theme in 2.2.4"
❏ Path to patch: "vendor_patches/MAGETWO-15137.diff"
cweagans/composer-patches
❏ Permite múltiplos patches
cweagans/composer-patches
❏ Execute composer update para aplicar o(s) patch(es)
cweagans/composer-patches
❏ Correção aplicada ao código na pasta vendor
OBRIGADO
bruno@trezo.com.br
/brunoroeder

Mais conteúdo relacionado

Mais procurados

Mais procurados (16)

Cobertura - Ferramenta para teste de cobertura
Cobertura - Ferramenta para teste de coberturaCobertura - Ferramenta para teste de cobertura
Cobertura - Ferramenta para teste de cobertura
 
Desenvolvendo com IONIC
Desenvolvendo com IONICDesenvolvendo com IONIC
Desenvolvendo com IONIC
 
Git & Delphi
Git & DelphiGit & Delphi
Git & Delphi
 
Maven - Aula 02
Maven - Aula 02Maven - Aula 02
Maven - Aula 02
 
Maven - Aula 03
Maven - Aula 03Maven - Aula 03
Maven - Aula 03
 
React Hooks
React HooksReact Hooks
React Hooks
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
Criação de temas Liferay 7.0 - LPUG - 12 Setembro 2018
Criação de temas Liferay 7.0 - LPUG - 12 Setembro 2018Criação de temas Liferay 7.0 - LPUG - 12 Setembro 2018
Criação de temas Liferay 7.0 - LPUG - 12 Setembro 2018
 
EMMA - Ferramenta para teste de cobertura
EMMA - Ferramenta para teste de coberturaEMMA - Ferramenta para teste de cobertura
EMMA - Ferramenta para teste de cobertura
 
Vapor 3: Reutilizando o model de backend para o seu app.
Vapor 3: Reutilizando o model de backend  para o seu app.Vapor 3: Reutilizando o model de backend  para o seu app.
Vapor 3: Reutilizando o model de backend para o seu app.
 
Compilando em java
Compilando em javaCompilando em java
Compilando em java
 
Maven - Aula 01
Maven - Aula 01Maven - Aula 01
Maven - Aula 01
 
Maven - Aula 05
Maven - Aula 05Maven - Aula 05
Maven - Aula 05
 
Tutorial javac
Tutorial javacTutorial javac
Tutorial javac
 
Preparar o ambiente para desenvolvimento angular
Preparar o ambiente para desenvolvimento angularPreparar o ambiente para desenvolvimento angular
Preparar o ambiente para desenvolvimento angular
 
Tutorial Reinstalando Quick
Tutorial Reinstalando QuickTutorial Reinstalando Quick
Tutorial Reinstalando Quick
 

Semelhante a Aplicando patches de correção no Magento 2 com composer

.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...Renato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...Renato Groff
 
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWDesvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWMorganna Giovanelli de Souza
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoiMasters
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloRenato Groff
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1tdc-globalcode
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Fernanda Prezotto
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 
Android DevConference - Dagger 2: uso avançado em projetos Android
Android DevConference - Dagger 2: uso avançado em projetos AndroidAndroid DevConference - Dagger 2: uso avançado em projetos Android
Android DevConference - Dagger 2: uso avançado em projetos AndroidiMasters
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Tchelinux
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersElias Nogueira
 

Semelhante a Aplicando patches de correção no Magento 2 com composer (20)

.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWDesvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 
Semana 1 Technocorp
Semana 1 TechnocorpSemana 1 Technocorp
Semana 1 Technocorp
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Organizando a casa
Organizando a casaOrganizando a casa
Organizando a casa
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Android DevConference - Dagger 2: uso avançado em projetos Android
Android DevConference - Dagger 2: uso avançado em projetos AndroidAndroid DevConference - Dagger 2: uso avançado em projetos Android
Android DevConference - Dagger 2: uso avançado em projetos Android
 
Java 14 Javadoc
Java 14 JavadocJava 14 Javadoc
Java 14 Javadoc
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
 

Aplicando patches de correção no Magento 2 com composer