luyadev / luya-composer
LUYA composer core
Installs: 153 719
Dependents: 3
Suggesters: 0
Security: 0
Stars: 4
Watchers: 5
Forks: 3
Open Issues: 0
Type:composer-plugin
Requires
- composer-plugin-api: ^1.1 | ^2.0
Requires (Dev)
- composer/composer: ^1.0 | ^2.0@dev
- phpunit/phpunit: ~5.0
README
Following Tasks are done by the luya composer task:
- 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
orluya-module
.
An example of define a blocks folder inside your composer json file.
"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.
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.
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:
{ "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
#!/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
./test
In order to test the installer events you have to create a sub package like
{ "name" : "my/test", "extra" : { "luya" : { "blocks": [ "path/to/blocks/*" ] } } }
The sub package must be linked in your local testing composer.json
{ "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/*" ] } } }