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

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

smokebrew

Moose::Role

MooseX::Types::Email

MooseX::Types::Path::Class

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.