Define own directory name for Magento composer extension
Question
My Magento environment is structured as following:
composer.json
which includes"aoepeople/composer-installers": "*"
and a list of Magento modules that deploy the code into my.modman
directory. From here, i deploy the files throughmodman deploy-all
into the Magento root folder.
So these are my steps, when a new extension update is available:
- composer update
- Inspect changes of the module code in the .modman folder
- git commit
- modman deploy-all
- git push: Starts remote Magento deployment
This works as expected.
When i use the package avstudnitz/scopehints
or mb/translate
in my composer.json
, the folders .modman/scopehints
and .modman/translate
are created. However, i would prefer a foldername including the vendor name, like the name of the Magento module itself, such as .modman/AvS_ScopeHint
and .modman/MB_Translate
for clarity.
Is there a way to define the composer deploy foldername for each Magento package?
Solution
Yes and no. In the extras.installer-paths
configuration, you can use the variables {$name}
and {$vendor}
. But there is no way to get the name of the Magento module itself because it is not part of the module's composer configuration.
I use configuration like this:
"extra":{
"installer-paths": {
"www/" : [ "type:magento-source" ],
".modman/{$vendor}_{$name}/" : [ "type:magento-module" ]
}
},
which results in paths such as .modman/avstudnitz_scopehint
(coming from the composer package name avstudnitz/scopehint