use Module::Build; # See perldoc Module::Build for details of how this works my $class = Module::Build->subclass ( class => 'JPEACOCK::Builder', code => q{ sub ACTION_dist{ my $self = shift; $self->do_system('hg log -b default --style changelog > Changes'); $self->SUPER::ACTION_dist(); } } ); my $mb = $class->new ( module_name => 'SVN::Notify::Mirror', license => 'perl', dist_author => 'John Peacock ', configure_requires => { 'Module::Build' => 0.38 }, requires => { 'Module::Build' => 0.38, 'SVN::Notify' => 2.83, 'YAML' => 0.81, }, auto_features => { ssh_support => { description => "Use remote mirrors via ssh", requires => {Net::SSH => 0.08 } }, config_support => { description => "Use compact YAML script", requires => {SVN::Notify::Config => 0.0906} }, rsync_support => { description => "Transfer files with rsync", requires => {File::Rsync => 0.42} }, }, PL_files => { 't/002_config.t.PL' => ['t/testconfig','t/002_config.t','t/002_config'], 't/003_sshtest.t.PL' => 't/003_sshtest.t', 't/004_rsynctest.t.PL' => 't/004_rsynctest.t', }, add_to_cleanup => ['t/test-repos', 't/wc-*', 't/00[2-4]*.t'], ); if ( $mb->feature('ssh_support') ) { $mb->notes( sshtests => 1 ) if $mb->y_n( "Do you want to run the SSH tests?\n". "(see the README for details)",'N'); } if ( $mb->feature('rsync_support') ) { $mb->notes( rsynctests => 1 ) if $mb->y_n( "Do you want to run the rsync tests?\n". "(see the README for details)",'N'); if ( $mb->notes('sshtests') && $mb->notes('rsynctests') ) { $mb->notes( rsyncsshtests => 1 ) if $mb->y_n( "Do you want to run the rsync tests via SSH?\n". "(see the README for details)",'N'); } } $mb->create_build_script;