use strict;
use warnings;
use File::Find qw[find];
$|++;
our $MAJOR = 0.00; our $MINOR = 2; our $DEV = -5; our $VERSION = sprintf('%1.3f%03d' . ($DEV ? (($DEV < 0 ? '' : '_') . '%03d') : ('')), $MAJOR, $MINOR, abs $DEV);
my $automated_testing = $ENV{AUTOMATED_TESTING} || $ENV{PERL_MM_USE_DEFAULT};
my $is_developer = ((-d '.git') ? 1 : 0) or ($ENV{RELEASE_TESTING} ? 1 : 0);
my @tests;
find \&find_cb, 't';
@tests = sort @tests;
my $class = ($is_developer ? 'inc::MBX::Developer' : 'Module::Build');
if (!eval "require $class") {
printf 'Failed to load %s: %s This ain\'t good, so... bye!', $class, $@;
exit 0;
}
my $mb = $class->new(
module_name => 'AnyEvent::Handle::Throttle',
license => 'artistic_2',
dist_author => 'Sanko Robinson <sanko@cpan.org>',
dist_version => $VERSION,
requires => {
'AnyEvent' => 5.28,
Errno => 0,
parent => 0,
perl => 5.008000,
},
build_requires => {'AnyEvent' => 5.28,
Errno => 0,
'File::Find' => 0,
'Module::Build' => 0.36,
parent => 0,
perl => 5.008000,
'Test::Class' => 0.35,
'Test::More' => 0.88
},
configure_requires => { 'Module::Build' => 0.36 },
add_to_cleanup => [qw[AnyEvent-Handle-Throttle-*]],
no_index => {directory => [qw[t example inc]]},
test_files => \@tests,
test_file_exts => [qw[.t]],
use_tap_harness => 1,
tap_harness_args => {jobs => 9,
rules => {par => [{seq => '/t/http*'}, '*']}
},
meta_merge => {
keywords =>
[qw[AnyEvent Handle Throttle bandwidth limit cap throughput]],
resources => {
bugtracker => {
web =>
'http://github.com/sanko/anyevent-handle-throttle/issues',
mailto => 'sanko@cpan.org'
},
repository => {
url => 'git://github.com/sanko/anyevent-handle-throttle.git',
web => 'http://github.com/sanko/anyevent-handle-throttle',
type => 'git'
},
ChangeLog =>
'http://github.com/sanko/anyevent-handle-throttle/commits/master',
license => ['http://www.perlfoundation.org/artistic_license_2_0']
}
}
);
##################################################################### TODO ###
$mb->notes(automated_testing => $automated_testing ? 1 : 0);
$mb->notes(release_testing => $is_developer);
$mb->notes(test_suite => \@tests);
$mb->notes(gmtime => scalar gmtime);
#################################### 'Dynamic' values used by build system ###
$mb->notes(svn => $mb->dist_version =~ m[\.0?(\d{4})]);
############################################################## Get to work ###
$mb->create_build_script;
##############################################################################
exit 0;
sub find_cb {
return if -d $_ or -l $_;
return unless -T $_;
return unless $_ =~ m[.+\.t$];
return push @tests, $File::Find::name;
}
=pod
=head1 Author
Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/
CPAN ID: SANKO
=head1 License and Legal
Copyright (C) 2010 by Sanko Robinson <sanko@cpan.org>
This program is free software; you can redistribute it and/or modify it under
the terms of
L<The Artistic License 2.0|http://www.perlfoundation.org/artistic_license_2_0>.
See the F<LICENSE> file included with this distribution or
L<notes on the Artistic License 2.0|http://www.perlfoundation.org/artistic_2_0_notes>
for clarification.
When separated from the distribution, all original POD documentation is
covered by the
L<Creative Commons Attribution-Share Alike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/us/legalcode>.
See the
L<clarification of the CCA-SA3.0|http://creativecommons.org/licenses/by-sa/3.0/us/>.
=for rcs $Id: Build.PL 922dfa3 2010-10-26 17:01:07Z sanko@cpan.org $
=cut