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]}': $!";

Reply via email to