App::SmokeBrew::Plugin - A Moose role for smokebrew plugins
version 1.06
package App::SmokeBrew::Plugin::Some::Plugin; use Moose; with 'App::SmokeBrew::Plugin';
App::SmokeBrew::Plugin is a Moose role that smokebrew plugins must consume.
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.
ArrayRefUri
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.
Consumer classes as required to implement the following methods:
configure
Called by smokebrew to configure the given perl for CPAN Testing.
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.
smokebrew
Moose::Role
MooseX::Types::Email
MooseX::Types::Path::Class
Chris Williams <chris@bingosnet.co.uk>
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.
To install smokebrew, copy and paste the appropriate command in to your terminal.
cpanm
cpanm smokebrew
CPAN shell
perl -MCPAN -e shell install smokebrew
For more information on module installation, please visit the detailed CPAN module installation guide.