Dist::Zilla::Plugin::TaskWeaver - a PodWeaver plugin used to build Task distributions
The TaskWeaver plugin acts just like the PodWeaver plugin, but gets its claws just a bit into your Pod::Weaver configuration and then uses them to figure out prerequisites and grouping for building a Task distribution.
Task:: namespace is used for libraries that do not have any code of their own,
but are just ways of getting a lot of other libraries installed at once.
In other words,
they're just prerequisites with no actual logic.
TaskWeaver expects that your .pm file will have Pod like the following:
=pkgroup Modules That are Useful =pkg Sub::Exporter 0.901 first version with teeth =pkg Sub::Import =pkgroup Modules That are Useless =pkg Acme::ProgressBar 1.10
=pkgroup directives start groups of prerequisites. You must have at least one
=pkgroup (although that may change). The
=pkg directives list specific directives, and are in the following format:
=pkg Package::Name min_version reason
reason are optional, although you can't give a reason without giving a version. If a reason is given, it will be included in the Pod to explain why the specific version is required.
TaskWeaver works, but relies on doing some pretty evil stuff. It may substantially change its method of operation in the future, but its expectations from your Pod should not change.
If you use three part versions, like
1.2.3, you will want to require a very modern ExtUtils::MakeMaker, probably v6.68 or later. You can do that with:
[Prereqs / EUMM] -phase = configure -type = requires ExtUtils::MakeMaker = 6.68
Due to the way various CPAN clients install modules, it is necessary to generate a fake testfile so there is at least a test in the distribution.
If you do not want to generate the file, disable the
[TaskWeaver] placeholder_test = 0
Ricardo Signes <email@example.com>
This software is copyright (c) 2015 by Ricardo Signes.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.