There are plenty of tasks runners out there right now, but Bldr hopes to reduce the number of dependencies required to get running with a task runner. Assuming you are already working with PHP, Bldr doesn't have any new dependencies, besides the third party extensions. You don't need to install npm, or even Java.
The big goal of this task runner is to encourage extensibility. Bldr aims to make it very simple to create new functionality by using the Dependency Injection Component from Sensio's Symfony2 Framework. If you want to take a look at how to make a new extension, check out the documentation, on Read The Docs.
Having troubles with Bldr? Post an issue in github, or message me on in #bldr on Freenode. There is also a mailing list. If you'd like to help contribute, just create a pull request on Github! If you've made an extension that you think should be in the core, feel free to send me a message, or post an issue.
This should be installed via composer, for now. You can either install it globally, or in your own project. If it is the first time you globally install a dependency then make sure you include ~/.composer/vendor/bin in $PATH as shown here.
$ composer global require bldr-io/bldr "@stable" # Or $ curl -sS http://bldr.io/installer | php $ mv bldr.phar /usr/bin/bldr
It is suggested that you use the phar, as you can get conflicts with dependencies by including it in your project!
$ curl -sS http://bldr.io/installer | php # Or $ composer require bldr-io/bldr "@stable"
And that’s it! From here, you should be able to run bldr if you set it up globally, or ./bin/bldr if you set it up in your project.
Configuration can be in almost any format (Yaml, Json, Xml, Ini, or PHP) but the default is Yaml. Heres a simple configuration file.
bldr: name: acme/demo-project description: Description for your project profiles: default: description: Sample Profile jobs: - sampleJob jobs: sampleJob: description: Runs a sleep for 5 seconds, then sends a message to the screen tasks: - type: sleep seconds: 5 - type: notify message: Finished Sleeping. Ending now.