Estou tentando usar modman
( https://github.com/colinmollenhour/modman ) para gerenciar minhas extensões no github.
Primeiro, estou tentando adicionar a MagePsycho_Someext
extensão como demonstração.
Até agora, eu fiz os seguintes passos
/var/www/magento-dir/ -> My Magento Installation Dir
/var/www/MagePsycho_Extensions/ --> Git Repository Dir
cd /var/www/MagePsycho_Extensions/
git clone [email protected]:magepsycho/Someext.git
touch modman
git commit -am 'Modman file added'
git push origin master
cd /var/www/magento-dir/
modman init
modman clone [email protected]:magepsycho/Someext.git
- Desenvolvida a extensão 'MagePsycho_Someext' em / var / www / magento-dir com os seguintes arquivos
- app / etc / modules / MagePsycho_Someext.xml
- app / code / local / MagePsycho / Someext / etc / config.xml
- app / code / local / MagePsycho / Someext / Helper / Data.php
10 Adicionadas as informações de mapeamento de arquivos em /var/www/magento-dir/.modman/Someext/modman como
app/etc/modules/MagePsycho_Someext.xml app/etc/modules/MagePsycho_Someext.xml
app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/etc/config.xml
app/code/local/MagePsycho/Someext/Helper/Data.php app/code/local/MagePsycho/Someext/Helper/Data.php
11 modman update Someext
mas obteve os seguintes erros:
WARNING: Target does not exist (.modman/Someext/modman):
app/etc/modules/MagePsycho_Someext.xml app/etc/modules/MagePsycho_Someext.xml
Notas : Estou desenvolvendo extensões no /var/www/magento-dir/
. E deseja implantar essas extensões (uma por repositório) no github usando o modman. Quando terminar o desenvolvimento do módulo, desejo que esses arquivos sejam adicionados ao repositório. Para isso, usei o arquivo .modman / * / modman para mapeamento. Mas incapaz de fazê-lo funcionar.
Onde e o que estou perdendo?
Ou essa é a abordagem incorreta?
[EDITAR]
Acabei de perceber que minha abordagem é exatamente oposta. Primeiro, você deve adicionar arquivos de extensão e modman com mapeamentos de caminho, empurrá-lo para o repositório e puxá-lo usando modman clone
.
Como você faria se primeiro desenvolvesse a extensão e depois usasse o modman para fazer alterações no repositório?
Respostas:
Finalmente, descobri a maneira de gerenciar os módulos Magento usando o modman (embora não seja o caminho perfeito, mas funciona para mim)
Premissas
cd /var/www/MagePsycho_Extensions/
git clone [email protected]:magepsycho/Someext.git
touch modman
git commit -am 'Modman file added'
git push origin master
cd /var/www/magento-dir/
modman init
modman link /var/www/MagePsycho_Extensions/Someext
10 Adicione as informações de mapeamento de arquivos em /var/www/magento-dir/.modman/Someext/modman como
11
modman repair
12
cd /var/www/magento-dir/.modman/Someext
13
git add app/etc/modules/MagePsycho_Someext.xml app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/Helper/Data.php
14
git commit -m 'Extension files updated.'
15
git push origin master
16 Isso é tudo.
Em resumo, você estará trabalhando no diretório magento-dir / .modman / Someext, que está vinculado ao magento-dir. Sempre que você adiciona novos arquivos à sua extensão, você deve atualizar o arquivo modman e executar,
modman repair
mantendo os links simbólicos atualizados.Se alguém tiver uma abordagem melhor, compartilhe.
fonte
Portanto, meu conselho aqui é desde que você tem uma cópia local da extensão de qualquer maneira, em seguida, usar o
link
edeploy
comandos em vez doclone
No seu caso, você simplesmente chamaria:
modman init
modman link ../Your_Extension_Path
(se esta for uma extensão única)modman deploy Your_Extension_Path
Esse método precisa que você tenha o arquivo modman completo no diretório de extensão com mapeamentos de arquivos, mas pelos seus comentários, parece que você já o possui.
Pelo meu entendimento, os arquivos precisam estar no diretório de extensão primeiro, eles serão vinculados ao diretório magento; portanto, quando você fizer edições futuras nos arquivos no magento, os arquivos de extensão também serão alterados. Talvez exista uma maneira de criar uma extensão modman a partir de um diretório magento, mas, infelizmente, não o conheço.
Uma maneira simples de copiar arquivos do Magento para um diretório de extensão é ter dois exploradores de janelas abertos para janelas e copiá-los ou usar algo como o comandante da meia-noite
Nota: Eu usei apenas o modman para a versão php, mas esse processo funciona para esse
fonte
../MagePsycho_extenstion/Extension1
e, em seguida, a implantação seriaMagePsycho_extenstion/Extension1
ouExtension1
não tenho certeza sem experimentar.