Atualizar
Parece que várias coisas mudaram com algumas alterações mais recentes (7 de outubro) no ramo de desenvolvimento. Agora parece que é possível oferecer suporte a um módulo que vive no diretório de fornecedores.
Criei dois exemplos de instalação de módulos. Um que copia arquivos para aplicativo / código e outro que registra o módulo em que reside no diretório do fornecedor.
Estratégia de cópia: https://github.com/mttjohnson/magento2-sample-module-minimal-copy
Estratégia de registro: https://github.com/mttjohnson/magento2-sample-module-minimal-register
Para fins de desenvolvimento, acho que a utilização da estratégia de registro é mais útil, porque os arquivos que estão sendo executados pelo Magento podem ser diretamente modificados, testados e, em seguida, confirmados no repositório do módulo.
Resposta original
Se você tiver um composer.json
arquivo para o pacote do compositor de módulo que contenha um tipo de magento2-module
arquivo, por padrão, será copiado para um diretório mapeado especificado no app/code
diretório
{
"name": "vendorname/module-name",
"type": "magento2-module",
"require": {
"magento/magento-composer-installer": "*"
},
"extra": {
"map": [
[
"module",
"VendorName/ModuleName"
]
]
}
}
Neste exemplo composer.json, o nome do pacote do compositor vendorname/module-name
resultará na inserção dos arquivos do pacote do compositor vendor/vendorname/module-name
.
O tipo especial de magento2-module
é implementado como um compositor-plugin no pacote magento / magento-compositer-installer . É por isso que eu listei na seção exigir. É este plugin do compositor que faz a cópia dos arquivos no app/code
diretório magento apropriado .
A extra: {map: [["composerDir","MagentoDir"]]}
seção é referenciada pelo instalador do compositor-plugin para saber qual parte do seu pacote compositor deve ser mapeada para qual parte da sua estrutura de diretórios magento. No exemplo fornecido, isso levaria vendor/vendorname/module-name/module
e copiaria os arquivos de lá para app/code/VendorName/ModuleName
.