delegator / magegen
Build system for Magento extensions.
Installs: 3 429
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 5
Forks: 0
Open Issues: 0
pkg:composer/delegator/magegen
Requires
- php: >=5.3.0
- symfony/console: ~2.6.1
- symfony/finder: ~2.6.1
- symfony/process: ~2.6.1
Requires (Dev)
- phpunit/phpunit: ~4.4.1
- satooshi/php-coveralls: ~0.6.1
This package is not auto-updated.
Last update: 2020-08-21 20:06:41 UTC
README
Magegen is a build system for Magento extensions.
We couldn't found a simple way to build Magento extensions, so we made our own.
This tool works well with (and requires) modman. Learn more about modman
here. Your extensions modman file
is parsed to create the directory and file listing for your package.xml.
Installation
We install this tool as a composer dependency in our extensions.
{
"require-dev": {
"delegator/magegen": "*"
}
}
Usage
Before you can use magegen, you should have a working .modman directory with
a project deployed. In your project's repo directory, add the magegen
dependency and update composer with composer update.
magegen requires that you have a correct modman file AND a
package.template.xml file.
To generate a package.template.xml file, run vendor/bin/magegen init.
Make sure you edit the package.template.xml file to match your extension's
information. Leave the following nodes empty, magegen will fill them in when
building your extension:
- date
- time
- contents
When you are ready to build your extension (generate a .tgz file), navigate
to the root of your modman repo directory and run vendor/bin/magegen build
Hooks
For some projects, you may need to compile assets or move files before building. To accommodate this, a simple hook system executes your code for the following events.
| Hook Name | When the hook is executed |
|---|---|
pre_build |
Before the 'build' command executes |
post_build |
After the 'build' command executes |
pre_check |
Before the 'check' command executes |
post_check |
After the 'check' command executes |
pre_clean |
Before the 'clean' command executes |
post_clean |
After the 'clean' command executes |
pre_init |
Before the 'init' command executes |
post_init |
After the 'init' command executes |
To execute your code for each of these hooks, create a directory at
magegen/[hook_name]/. In that directory, add PHP files that will be executed
as the hook fires.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
License
Refer to LICENSE.md for license information.