Two Dist::Zilla questions (META.yml; user config)
During the great RT will be shutdown craze earlier this year, I updated my Dist::Zilla setup to use a custom author bundle (Dist::Zilla::PluginBundle::Author::DOMM) so I can unify my Dist::Zilla config in one place (instead of copying dist.ini
from project to project, adding & modifying it from time to time, but never backporting improvements to older projects).
Two of my decisions might have been not too smart (as indicated by various pull requests), so I'm now looking for feedback...
META.yml vs META.json?
I stopped generating META.yml
files and now only generate META.json
. As far as I can tell, the contents of those two files is identical, so I think it should be enought to include the data once per dist (and I prefer JSON to YAML...)
Of course, CPANTS now complains about the missing META.yml
. (Which is of course ironic, because it was me who first implemented this CPANTS metric...)
Maybe some other (old?) tools still need META.yml
? So should I again produce both META.yml
and META.json
?
Dist::Zilla user config?
During my deep dive into Dist::Zilla plungins and author bundles, I learned that Dist::Zilla looks for per-user configuration in ~/.dzil/config.ini
. So I moved some general information (my name & email, default license) from all my dist.ini
files into this central config file.
But it seems that this makes contributing to my dists even harder, as the dist.ini
file included in the dist now is invalid. Contributors will get a (helpful) error message when running dzil build
, but this is yet another hurdle for potential contributors. I've already got two pull requests to "fix" this.
On the one hand I would prefer to keep the global config file, so I can easily change data. On the other hand I could just as well run a small command to change whatever value I might want to change on multiple files (using this hot new tool called "Perl", which makes mangling text in multiple files very easy) and thus make contributions easier.
How are other CPAN authors handling this?
Or is it all Dist::Zilla's fault?
Some people (like brian d foy in this thread about Distar, a simpler authoring tool (but it works with ExtUtils::MakeMaker, which is a module I don't want to touch..)) argue that Dist::Zilla is too complex and make contributing very hard (because potential contributors now need to install a lot of Dist::Zilla plugins).
But I actually like Dist::Zilla a lot (esp after finally coming up with a PluginBundle that fits my workflow). So I will keep using Dist::Zilla, but would really appreciate any feedback on my two questions (META.yml
and user config).
You can either enter a comment below (if my homegrown comments system works..), or via reddit
Update: user config vs github
After applying another patch supplied by Paul Cochrane that adds some github testing hooks, it seems to be clear that depending on the user config is a bad idea. Surprisingly, github will NOT set up a ~/.dzil/config.ini
so it can "contribute" to my dist (by running it's test suite), see eg here
So I guess I will stop using the global config file...