Does anyone know of a Yak Shaving Anonymous association hackers addicted to shearing Tibetan bovines could join?
Anyway, here are two little things I hacked on top of Dist::Zilla that peeps might find useful.
The first, as hinted by the blog entry’s title, is a direct adaptation of Aristotle’s perldoc-complete for
$ dzil <tab> build install new plugins rjbsver smoke xtest clean listdeps nop release run test
The second is actually the one that started that round of shaving for me. As there is about a gazillion Dist::Zilla plugins, I wanted to have a quick way to see all the plugins installed on a specific machine. Enter a new dzil sub-command:
$ dzil plugins [ lotsa plugins ] MatchManifest - Ensure that MANIFEST is correct MetaConfig - summarize Dist::Zilla configuration into distmeta MetaJSON - produce a META.json * MetaNoIndex - Stop CPAN from indexing stuff MetaProvides - Generating and Populating 'provides' in your META.yml MetaProvides::Class - Scans Dist::Zilla's .pm files and tries to identify classes using Class::Discover. MetaProvides::FromFile - In the event nothing else works, pull in hand-crafted metadata from a specified file. MetaProvides::Package - Extract namespaces/version from traditional packages for provides * MetaResources - provide arbitrary "resources" for distribution metadata MetaTests - common extra tests for META.yml MetaYAML - produce a META.yml [ still lotsa plugins ]
The plugins marked with an asterix are used by the current
dist.ini. Also, give a plugin name to the sub-command, and it’ll act as
perldoc Dist::Zilla::Plugin::<Plugin Name>. The sweet thing is, autocomplete also works there:
$ dzil plugins Pod<Tab> PodCoverageTests PodSyntaxTests PodVersion PodWeaver
Both patches are available on my Github fork of Dist::Zilla. Enjoy!