NAME
Test::AutoBuild::Module - represents a code module to be built
SYNOPSIS
use Test::AutoBuild::Module;
my $module = Test::AutoBuild::Module->new(name => $name,
label => $label,
paths => \@paths,
repository => $repository,
[depends => \@modules,]
[env => \%env,]
[group => $group,]
[dir => $directory],
[buildroot => $directory],
[controlfile => $controlfile]);
$module->build($cache, \%modules);
$module->install($cache, \%modules);
DESCRIPTION
The Test::AutoBuild::Module manages a single code module in the build.
METHODS
my $module = Test::AutoBuild::Module->new(name => $name, label => $label, paths => \@paths, repository => $repository, [depends => \@modules,] [env => \%env,] [group => $group,] [dir => $directory], [buildroot => $directory], [controlfile => $controlfile]);
Creates a new code module object. name
is a alphanumeric token for the name of the module. labe
is a short human friendly title for the module. The paths
array ref is a list of paths to checkout of the source repository, whose name is specified by repository
. depends
is an array ref containing a list of dependant module names. env
is a hash ref of environment variables to define when building the module. group
is the optional name of the group to which the module belongs. dir
is the directory in which the module was checked out, if different from name
. buildroot
is the path of the virtual root directory for this module if different from the global default. The controlfile
parameter is the name of the build control file to run if different from the global default.
my $value = $module->option($name[, $newvalue]);
Returns the value of the option referenced by name
. If the newvalue
parameter is supplied, then the option is also updated.
my $label = $module->label([$newlabel]);
Returns the label of this module, a short human friendly title. If the newlabel
parameter is supplied the label is also updated.
my $name = $module->name([$newname]);
Returns the name of this module, a short alphanumeric token. If the newname
parameter is supplied the name is also updated.
my \@paths = $module->paths([@newpaths]);
Returns an array reference of paths to check out of the source control repository. If the newpaths
parameter is supplied, the paths are also updated.
my $repository = $module->repository($newrep)
Returns the name of the source repository storing this module. If the newrep
parameter is supplied the name is also updated.
my $path = $module->dir($newpath);
Returns the path for the directory checked out of source control. Typically this is the same as the module name. If the newpath
parameter is supplied the dir is updated.
my $dir = $module->build_root([$newpath]);
Returns the path to the virtual root directory in which this module will install files. If the newpath
parameter is supplied the build root will be updated.
$module->install($cache, \%modules);
Installs all this module's files from a previously populated build cache. If any dependant modules have not yet been processed, they will be installed first.
my \%packages = $module->packages($pkgs, $package_types);
Not quite sure what this does yet.
my \@modules = $module->dependancies([\@modules]);
Returns an array ref of dependant module names. If the modules
parameter is supplied then the list of dependants is updated.
AUTHORS
Daniel Berrange <dan@berrange.com>
COPYRIGHT
Copyright (C) 2002-2004 Daniel Berrange <dan@berrange.com>
SEE ALSO
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 55:
You can't have =items (as at line 67) unless the first thing after the =over is an =item
- Around line 496:
=back doesn't take any parameters, but you said =back 4