NAME
App::SmokeBrew::Plugin - A Moose role for smokebrew plugins
VERSION
version 1.06
SYNOPSIS
package App::SmokeBrew::Plugin::Some::Plugin;
use Moose;
with 'App::SmokeBrew::Plugin';
DESCRIPTION
App::SmokeBrew::Plugin is a Moose role that smokebrew plugins must consume.
ATTRIBUTES
These are the attributes provided by the role and are expected by smokebrew:
email
-
A required attribute, this must be a valid email address as constrained by MooseX::Types::Email
builddir
-
A required attribute, this is the working directory where builds can take place. It will be coerced into a Path::Class::Dir object by MooseX::Types::Path::Class.
prefix
-
A required attribute, this is the prefix of the location where perl installs will be made, it will be coerced into a Path::Class::Dir object by MooseX::Types::Path::Class.
example:
prefix = /home/cpan/pit/rel perls will be installed as /home/cpan/pit/perl-5.12.0, /home/cpan/pit/perl-5.10.1, etc.
perl_exe
-
A required attribute, this is the path to the perl executable that the plugin will configure, it will be coerced to a Path::Class::File object by MooseX::Types::Path::Class.
mirrors
-
A required attribute, this is an arrayref of URI objects representing CPAN Mirrors to use. It uses type
ArrayRefUri
from App::SmokeBrew::Types, so will coerce URI objects from ordinary strings and from an arrayref of strings. It is set toauto_deref
. mx
-
Optional attribute, which has no default value, this is the address or IP address of a mail exchanger to use for sending test reports.
verbose
-
Optional boolean attribute, which defaults to 0, indicates whether the plugin should produce verbose output.
noclean
-
Optional boolean attribute, which defaults to 0, indicates whether the plugin should cleanup files that it produces under the
builddir
or not.
METHODS
Consumer classes as required to implement the following methods:
configure
-
Called by smokebrew to configure the given perl for CPAN Testing.
PLUGIN OPTIONS
App::SmokeBrew will pass any options it finds in a named section of the configuration file for a plugin when it a new plugin instance. See smokebrew for details. You are expected to document any options that may be passed to your plugin in this manner.
SEE ALSO
AUTHOR
Chris Williams <chris@bingosnet.co.uk>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Chris Williams.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.