Here I talked about creating a new catalyst project using a minting profile for Dist::Zilla. If you don’t know how to create a minting profile read that first. I’m sure once you’ve tried that you’ll agree that having a little bit more than the basics in a newly minted dist would be a good thing.
first we need to create our profile.ini correctly
|
|
(note: if you’ve got [DistINI]
plugin loaded you’ll probably want to remove it) Now you can put any file
in the subdirectory repo of your profile (if you leave out include_dotfiles = 1
then anything beginning with a .
won’t be included), and it can be a template using Text::Template. Dist::Zilla uses
{{ }}
for Text::Template Delimiters.
Let’s start with adding a .gitignore
file (if you’re using git) we can create{profile}/repo/.gitignore
|
|
the {{$dist->name}}*
will exclude the directories and archives dzil
creates on release and .build
, will of course,
ignore the .build dirctory.
Now for a more complex issue, creating a Changes
file that has the the {{$NEXT}}
variable in it to insert the date
and such on build.
{{$dist->name}}
{{ '{{$NEXT}}' }}
-
Obviously you can format your Changes
file however you want.
Now we want to create a much more complicated dist.ini
|
|
All of the stuff between the first set of {{ }}
is boilerplate mostly taken from the DistINI
plugin so that we can
use our settings from our config.ini
, I really wish there were some convenience accessors for this. I also wish we
had an arbitrary stash we could use in config.ini
so I wouldn’t have had to hardcode my username in this. I think
it’s all fairly self explanatory beyond that. Of course you can set up your dist.ini
anyway you want.
Also if you use this format you have to have your module’s repo name on GitHub in camel case like it is on CPAN.