delegator / magegen
Build system for Magento extensions.
Installs: 3 427
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 5
Forks: 0
Open Issues: 0
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.