use strict ;
use warnings ;
use Module::Build;
my %all_modules ;
my @split_modules ;
my @pm_files = qw(
lib/Directory/Scratch//Structured.pm
);
for(@pm_files)
{
$all_modules{$_} = $_ ;
push @split_modules, $_ ;
}
sub GetVersionAndRevisionFrom
{
my ($file) = @_ ;
my $version_from = File::Spec->catfile( split '/', $file );
my $version = Module::Build->version_from_file($version_from);
return($version) ;
}
my $code = <<'EOC'
sub GetVersionAndRevisionFrom
{
my ($file) = @_ ;
my $version_from = File::Spec->catfile( split '/', $file );
my $version = Module::Build->version_from_file($version_from);
return($version) ;
}
sub ACTION_author_test
{
my $self = shift;
local $self->{properties}{test_files} = 'xt/author/*.t' ;
$self->SUPER::ACTION_test();
}
EOC
;
my $class = Module::Build->subclass(class => 'Directory::Scratch::Structured', code => $code) ;
my $build = $class->new
(
module_name => 'Directory::Scratch::Structured',
dist_version => GetVersionAndRevisionFrom('lib/Directory/Scratch/Structured.pm'),
license => 'perl',
requires =>
{
'Readonly' => 0,
'Sub::Exporter' => 0,
'Sub::Install' => 0,
'Data::TreeDumper' => 0,
'Directory::Scratch' => 0,
'Test::Block' => 0,
'Test::Exception' => 0,
'Test::NoWarnings' => 0,
'Test::Warn' => 0,
'Test::Strict' => 0,
},
pm_files => \%all_modules,
autosplit => \@split_modules,
#~ script_files => 'script/xxx.pl',
dist_author => 'Khemir Nadim ibn Hamouda. <nadim@khemir.net>',
dist_abstract => 'creates temporary files and directories from a structured description',
);
$build->create_build_script;