App::TaskBuilder - build empty, dependency-only distributions
version 1.000
use App::TaskBuilder; App::TaskBuilder->new(%opt)->run; # or, more likely task-builder --name Task::Foo --version 0.123 --require Some::Module=1.01 # writes 'Task-Foo-0.123.tar.gz'
Naming a package Task::Something is a convention for distributions that exist only to make sure that a certain set of modules is installed.
Task::Something
Building these Task distributions by hand is a pain. App::TaskBuilder automates the process, giving you a tarball that you can then upload, manipulate with CPAN/CPANPLUS, etc.
The name of the Task module to generate. (Despite referring to Task throughout this documentation, any module name can be used; it doesn't have to start with Task::.)
Task
Task::
The version (module and distribution) to generate.
The output file to write. Defaults to $name-$version.tar.gz.
$name-$version.tar.gz
A hashref of module names and their versions.
A list of files to include data from. Each one is loaded with do. It should return a hashref with any of the following keys: requires, build_requires, test_requires. Any that are found will be merged together with the hashref passed in as the require parameter.
do
requires
build_requires
test_requires
require
Currently, everything gets written to the Makefile.PL as a normal dependency; TaskBuilder doesn't actually distinguish between build/test/install dependencies.
TaskBuilder generates the following files:
This file contains a package statement for your module and a $VERSION, so it can be depended on by other distributions.
$VERSION
my $tb = App::TaskBuilder->new(%opt);
Create a new TaskBuilder object. See "PARAMETERS".
my %vars = $tb->vars;
A hash of variables suitable for passing to a template, which is what TaskBuilder does with this internally.
$tb->run;
Run the application and write the output distribution file.
TaskBuilder uses your tar binary instead of Archive::Tar. If this bothers you, write a patch to use Archive::Tar when it's available. I'd like to avoid non-core dependencies, though, since I originally wrote this as part of an automated dependency installer for a (non-CPAN, non-Makefile.PL) project.
tar
Hans Dieter Pearcey <hdp@cpan.org>
This software is copyright (c) 2008 by Hans Dieter Pearcey <hdp@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as perl itself.
To install App::TaskBuilder, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::TaskBuilder
CPAN shell
perl -MCPAN -e shell install App::TaskBuilder
For more information on module installation, please visit the detailed CPAN module installation guide.