Author: kwilliams
Date: Thu Jul 19 20:17:08 2007
New Revision: 9770
Modified:
Module-Build/trunk/ (props changed)
Module-Build/trunk/t/lib/DistGen.pm
Module-Build/trunk/t/metadata.t
Log:
[EMAIL PROTECTED]: ken | 2007-07-14 10:03:42 -0500
Add a change_build_pl() convenience method to DistGen
Modified: Module-Build/trunk/t/lib/DistGen.pm
==============================================================================
--- Module-Build/trunk/t/lib/DistGen.pm (original)
+++ Module-Build/trunk/t/lib/DistGen.pm Thu Jul 19 20:17:08 2007
@@ -15,6 +15,7 @@
use File::Spec ();
use IO::File ();
use Tie::CPHash;
+use Data::Dumper;
BEGIN {
if( $^O eq 'VMS' ) {
@@ -357,6 +358,22 @@
$self->{pending}{remove}{$file} = 1;
}
+sub change_build_pl {
+ my ($self, $opts) = @_;
+
+ local $Data::Dumper::Terse = 1;
+ (my $args = Dumper($opts)) =~ s/^\s*\{|\}\s*$//g;
+
+ $self->change_file( 'Build.PL', <<"---" );
+use strict;
+use Module::Build;
+my \$b = Module::Build->new(
+$args
+);
+\$b->create_build_script();
+---
+}
+
sub change_file {
my $self = shift;
my $file = shift;
Modified: Module-Build/trunk/t/metadata.t
==============================================================================
--- Module-Build/trunk/t/metadata.t (original)
+++ Module-Build/trunk/t/metadata.t Thu Jul 19 20:17:08 2007
@@ -12,20 +12,19 @@
use Module::Build;
use Module::Build::ConfigData;
-use DistGen;
-my $dist = DistGen->new( dir => $tmp );
-$dist->change_file( 'Build.PL', <<"---" );
+my %metadata =
+ (
+ module_name => 'Simple',
+ dist_version => '3.14159265',
+ dist_author => [ 'Simple Simon <[EMAIL PROTECTED]>' ],
+ dist_abstract => 'Something interesting',
+ license => 'perl',
+ );
-my \$builder = Module::Build->new(
- module_name => '@{[$dist->name]}',
- dist_version => '3.14159265',
- dist_author => [ 'Simple Simon <[EMAIL PROTECTED]>' ],
- dist_abstract => 'Something interesting',
- license => 'perl',
-);
-\$builder->create_build_script();
----
+use DistGen;
+my $dist = DistGen->new( dir => $tmp );
+$dist->change_build_pl( \%metadata );
$dist->regen;
chdir( $dist->dirname ) or die "Can't chdir to '@{[$dist->dirname]}': $!";