1use 5.006002; 2 3use strict; 4use warnings; 5 6use lib qw{ inc }; 7 8use My::Module::Build; 9use My::Module::Meta; 10use My::Module::Recommend; 11use Config; 12use FileHandle; 13use Module::Build; 14 15( my $mbv = Module::Build->VERSION() ) =~ s/_//g; 16 17my $meta = My::Module::Meta->new(); 18 19my %args = ( 20 add_to_cleanup => $meta->add_to_cleanup(), 21 build_requires => $meta->build_requires(), 22 configure_requires => $meta->configure_requires(), 23 dist_abstract => $meta->abstract(), 24 dist_author => $meta->author(), 25 dist_name => $meta->dist_name(), 26 license => $meta->license(), 27 module_name => $meta->module_name(), 28 requires => $meta->requires( 29 perl => $meta->requires_perl(), 30 ), 31 script_files => [], 32); 33 34$mbv >= 0.26 35 and $args{get_options} = { 36 n => { type => '!' }, 37 y => { type => '!' }, 38 }; 39 40if ( $mbv >= 0.28 ) { 41 $args{meta_merge} = $meta->meta_merge(); 42 $args{no_index} = $meta->no_index(); 43 $args{meta_add} = { 44 $meta->provides(), 45 }, 46} 47 48$mbv >= 0.34 49 and $args{auto_configure_requires} = 0; # Don't require Module::Build 50 51My::Module::Recommend->recommend(); 52 53# Generate a builder object. 54 55my $bldr = My::Module::Build->new ( %args ); 56 57# Find out what the user wants to do. 58 59my %opt = $bldr->args(); 60 61my @exe_files = map { "script/$_" } 62 $meta->notice( \%opt ); 63 64# Tell Module::Build what we want to do. 65 66$bldr->script_files( \@exe_files ); 67 68# Generate the build script, at long last. 69 70$bldr->create_build_script(); 71 72# ex: set textwidth=72 : 73