NAME
Test::AutoBuild::Monitor - Builder progress monitor
SYNOPSIS
use Test::AutoBuild::Monitor
my $rep = Test::AutoBuild::Monitor->new(
name => "foo",
label => "Some thing",
enabled => 1,
options => \%options,
env => \%env);
# Add a module to the repository
$rep->module($module_name, $module);
# Initialize the repository
$rep->init();
# Checkout / update the module
my $changed = $rep->export($name, $module);
DESCRIPTION
This module provides the API for interacting with the source control repositories. A repository implementation has to be able to do two main things
* Get a checkout of a new module
* Update an existing checkout, determining if any
changes where made
CONFIGURATION
The valid configuration options for the repositories block are
METHODS
- my $monitor = Test::AutoBuild::Monitor->new(name => $name, label => $label, [enabled => $enabled,] [options => \%options,] [env => \%env]);
-
This method creates a new monitor. The
nameparameter specifies a short alpha-numeric name for the monitor. Thelabelparameter specifies an arbitrary label for presenting to usres. The optionaloptionsargument is a hashref of implementation specific options. The optionalenvargument is a hashref of environment variables to set when handling notifications. - $monitor->init(%params);
-
This method initializes the monitor object & is called automatically from the
newmethod with the named parameters passed to that method. - my $name = $monitor->name([$newname]);
-
Retrieves the name of this monitor, a short alpha-numeric token. If the optional
$newnameparameter is specified then the name is updated. - my $name = $monitor->label([$newname]);
-
Retrieves the name of this monitor, a short alpha-numeric token. If the optional
$newnameparameter is specified then the name is updated. - my $name = $monitor->is_enabled([$state]);
-
Returns a true value if this monitor is marked as enabled. If the optional
$statusparameter is specified then the enabled state is updated. If this method returns a false value, then thenotifymethod will not callprocess, effectively becoming a no-op - my $monitor->notify($event_name, @args);
-
Send a notification to this monitor. The
$event_nameparameter is a short alpha-numeric token representing the event triggering this notification. The@argsparams are arbitrary data items specific to this event. If theis_enabledmethod returns a true value, this method will invoke theprocesmethod to actually handle the event, otherwise it will be a no-op - my $monitor->process($event_name, @args);
-
This method must be implemented by sub-classes to provide the notification processing they require. The default implementation will simply call die. The arguments are the same as those for the
notifymethod. - my $value = $rep->option($name[, $value]);
-
When run with a single argument, retuns the option value corresponding to the name specified in the first argument. If a second argument is supplied, then the option value is updated.
- my $value = $rep->env($name[, $value]);
-
When run with a single argument, retuns the environment variable corresponding to the name specified in the first argument. If a second argument is supplied, then the environment variable is updated.
AUTHORS
Daniel Berrange <dan@berrange.com>
COPYRIGHT
Copyright (C) 2005 Daniel Berrange <dan@berrange.com>
SEE ALSO
perl(1), Test::AutoBuild::Monitor::CommandLine, Test::AutoBuild::Monitor::Log4perl, Test::AutoBuild::Monitor::Pipe