NAME
ExtUtils::Builder::Plan - An ExtUtils::Builder Plan
VERSION
version 0.004
SYNOPSIS
package Frobnicate;
sub plan {
my %nodes = ...;
return ExtUtils::Builder::Plan->new(
nodes => \%nodes,
);
}
my $plan = Frobnicate->plan(@args);
# various consumption methods
$plan->run('foo');
say $_->target for $plan->nodes;
DESCRIPTION
An object of this class describes a process. It contains one or more nodes. This is enough to describe whole building processes, in fact its run
method is a tiny make
engine.
ATTRIBUTES
nodes
This is the set of all nodes in this plan.
METHODS
run($target, %options)
This runs the process. Similar to make
, it checks for each node if it is necessary to run, and if not skips it. $target
may either be a single string or an array ref of strings for the targets to run.
node($target)
Returns the node for the specified $target
.
node_names()
Returns the names of all the nodes.
merge($other)
This merges this plan with another, and returns the new plan. Each entry may only exist on one side of the merge.
phonies()
This returns the names of all phony targets.
AUTHOR
Leon Timmermans <fawaka@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.