ExtUtils::Builder::Plan(3pm)

NAME
ExtUtils::Builder::Plan - An ExtUtils::Builder Plan

VERSION
version 0.020

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.