#!/usr/bin/perl
use strict;
use warnings;
use Module::Build;
my $class = Module::Build->subclass(
class => 'Evented::API::Builder',
code => q{
sub ACTION_docs {
use Pod::Select;
use Pod::Readme;
use File::Copy;
my $self = shift;
# Generate .pod files
podselect({ -output => 'doc/Evented/API/Engine.pod' },
'lib/Evented/API/Engine.pm');
podselect({ -output => 'doc/Evented/API/Module.pod' },
'lib/Evented/API/Module.pm');
# Copy Engine.pod to README.pod
copy('doc/Evented/API/Engine.pod', 'README.pod');
# Extract text to generate plain-text README
my $parser = Pod::Readme->new();
$parser->parse_from_file('README.pod', 'README');
return $self->SUPER::ACTION_docs;
}
}
);
my $build = $class->new(
module_name => 'Evented::API::Engine',
dist_author => 'Mitchell Cooper <cooper@cpan.org>',
dist_abstract => 'Evented API Engine for Perl applications',
requires => {
perl => '5.010',
'Evented::Object' => '5.63',
'JSON::XS' => '3.00',
'Module::Loaded' => '0.08',
# Scalar::Util (nothing used unavailable in 5.10 core dist)
},
configure_requires => {
'Pod::Select' => 0,
'Pod::Readme' => 0
},
auto_configure_requires => 0,
license => 'bsd',
create_readme => 1,
dynamic_config => 0,
meta_merge => {
resources => {
repository => 'https://github.com/cooper/evented-api-engine'
}
},
);
$build->create_build_script;