+
use strict;
use warnings;
+
use Module::Build;
-my $builder = Module::Build->new(
- module_name => 'MooseX::Storage',
- license => 'perl',
- dist_author => 'Chris Prather <perigrin@cpan.org>',
- dist_version_from => 'lib/MooseX/Storage.pm',
- requires => {
- 'Test::More' => 0,
+my $build = Module::Build->new(
+ module_name => 'MooseX::Storage',
+ license => 'perl',
+ requires => {
+ 'Moose' => '0.20',
+ # you should have at least one
+ # serialization format
+ 'JSON::Any' => '0',
+ 'Best' => '0', # << this if for loading YAML
+ 'Storable' => '0',
+ # and the ability to save the
+ # file to disk
+ 'IO::File' => '0',
+ },
+ optional => {
+ 'IO::AtomicFile' => '0',
+ # these are only used in the
+ # test, I recommend them, but
+ # there is no need to force
+ # them on people :)
+ 'Test::YAML::Valid' => '0',
+ 'Test::JSON' => '0',
+ # this if for the basic role with checksum
+ 'Digest' => '0',
+ 'Digest::SHA1' => '0',
+ 'Data::Dumper' => '0',
},
- add_to_cleanup => [ 'MooseX-Storage-JSON-*' ],
+ build_requires => {
+ 'Test::More' => '0.62',
+ 'Test::Exception' => '0.21',
+ 'Test::Deep' => '0',
+ },
+ create_makefile_pl => 'traditional',
+ recursive_test_files => 1,
+ add_to_cleanup => [
+ 'META.yml', '*.bak', '*.gz', 'Makefile.PL',
+ ],
);
-$builder->create_build_script();
+$build->create_build_script;
+