LUYA Composer Plugin
, (*1)
Following Tasks are done by the luya composer task:, (*2)
- Provides the symlink to the bin file inside the root directory of the application.
- Bind blocks into the system without a module
- Add files to the LUYA Bootstrapping process.
In order to enable luya extra section in your package, the package type must be either luya-extension
or luya-module
., (*3)
An example of define a blocks folder inside your composer json file., (*4)
"type" : "luya-extension",
"extra" : {
"luya" : {
"blocks": [
"path/to/blocks",
"path/to/one/Block.php"
],
"bootstrap": [
"namespace\\to\\my\\BootstrapFile"
]
}
}
LUYA will now import those blocks when running the import
command., (*5)
For root packages there is a symlink
property available inside luya section of extra in order to disable the symlink of luya binary into application folder., (*6)
Local Testing for Composer Plugin Development
In order to test the luya composer plugins you have to create a new folder outside of the current luya-composer folder and include the the composer package with a composer.json as following:, (*7)
{
"minimum-stability" : "dev",
"repositories": [
{
"type": "path",
"url": "../luya-composer"
}
],
"require": {
"luyadev/luya-composer": "*"
}
}
Then you can create a test.sh file to test the plugin process like, (*8)
#!/bin/bash
rm -rf vendor
rm -r composer.lock
composer update -v
Give the script test.sh
the permissions with chmod +x test.sh
and now run, (*9)
./test
In order to test the installer events you have to create a sub package like, (*10)
{
"name" : "my/test",
"extra" : {
"luya" : {
"blocks": [
"path/to/blocks/*"
]
}
}
}
The sub package must be linked in your local testing composer.json, (*11)
{
"minimum-stability": "dev",
"repositories": [
{
"type": "path",
"url": "../luya-composer"
}
{
"type": "path",
"url": "../path/to/my/test/package"
}
],
"require": {
"luyadev/luya-composer": "*",
"my/test" : "*"
},
"extra" : {
"luya" : {
"blocks": [
"path/to/blocks/*"
]
}
}
}