NAME

Dist::Zilla::Plugin::TaskWeaver - a PodWeaver plugin used to build Task distributions

VERSION

version 0.101629

DESCRIPTION

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.

The 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

The =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

Both min_version and 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.

PERL VERSION

This library should run on perls released even a long time ago. It should work on any version of perl released in the last five years.

Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl.

WARNING

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.

...AND ANOTHER THINGS

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

Placeholder Testfile

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 placeholder_test attribute.

  [TaskWeaver]
  placeholder_test = 0

AUTHOR

Ricardo Signes <cpan@semiotic.systems>

CONTRIBUTORS

  • Apocalypse <APOCAL@cpan.org>

  • Glenn Fowler <cebjyre@cpan.org>

  • Ricardo Signes <rjbs@semiotic.systems>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 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.