1use strict; 2use warnings; 3 4use 5.006; 5 6use lib qw{ inc }; 7 8use Module::Build; 9use My::Module::Build; 10use My::Module::Meta; 11use My::Module::Recommend; 12 13(my $mbv = Module::Build->VERSION()) =~ s/_//g; 14 15my $meta = My::Module::Meta->new(); 16 17my %args = ( 18 add_to_cleanup => $meta->add_to_cleanup(), 19 build_requires => $meta->build_requires(), 20 configure_requires => $meta->configure_requires(), 21 dist_abstract => $meta->abstract(), 22 dist_author => $meta->author(), 23 dist_name => $meta->dist_name(), 24 license => $meta->license(), 25 module_name => $meta->module_name(), 26 requires => $meta->requires( 27 perl => $meta->requires_perl(), 28 ), 29 script_files => $meta->script_files(), 30); 31 32if ( $mbv >= 0.28 ) { 33 $args{meta_merge} = $meta->meta_merge(); 34 $args{no_index} = $meta->no_index(); 35 $args{meta_add} = { 36 $meta->provides(), 37 }, 38} 39 40$mbv >= 0.34 41 and $args{auto_configure_requires} = 0; # Don't require Module::Build 42 43My::Module::Recommend->recommend(); 44 45my $bldr = My::Module::Build->new (%args); 46 47$bldr->create_build_script (); 48