NAME

App::SmokeBrew::Plugin - A Moose role for smokebrew plugins

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 to auto_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.

AUTHOR

Chris BinGOs Williams

LICENSE

Copyright © Chris Williams

This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.

SEE ALSO

smokebrew

Moose::Role

MooseX::Types::Email

MooseX::Types::Path::Class