$ zef install META6:bin
MEAT6::bin module enables creation Perl6 project from the scratch, for example this is how quickly one can bootstrap a new Perl6 module called Foo::Bar
$ meta6 --new-module=Foo::Bar
There are a lot of options come from meta6 client, take a look at the documentation. META6::bit cares about git/github things, setting up git repository for you freshly started projects, creating META6.json file, populating t/ directory, so on.
I have created a simple wrapper around meta6 script. The reasons for that:
* I don’t want to remember all the options I use when launching meta6 client to bootstrap my projects
* I have predefined settings I use always so I don’t want to enter them every time I run meta6 command line.
Here is my solution – sparrow plugin with the analogous name – meta6-bin Under the scene it just calls meta6 client with parameters. But you can easily customize ones by using sparrow tasks:
$ sparrow plg install meta6-bin $ sparrow project create perl6-projects $ sparrow task add perl6-projects meta6-bin new
Having this defined you may easily create new Perl6 modules projects to run meta6 with some default options:
$ sparrow task run perl6-projects/new --param name=Foo::Bar --param path=~/my-projects/
The only two obligatory parameters you have to set here is – name – module name and path – directory location where you want to create project files.
Here is how you can create a project inside current working directory:
$ sparrow task run perl6-projects/new --param name=Foo::Bar --param path=$PWD
And finally let’s tune some settings up to meet our specific requirements, say I don’t want to initialize git repository for my projects and I have predefined root location to keep my work:
$ export EDITOR=nano $ sparrow task ini perl6-projects/new
options --force --skip-git --skip-githubpath /opt/projects
Now we “memorize” our settings into sparrow task so that we can apply them for next meta6-bin runs:
$ sparrow task run perl6-projects/new --param name=Foo::Bar
Hope this short post was useful.
Regards and stayed tuned with Perl6/Sparrow/Sparrowdo.