X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=author%2Fgenerate-mouse-tiny.pl;h=0484cdba735fc6b230e5e614c532e89032c6e1db;hb=7c738ee513510237e009e456c0b09a82c836a84a;hp=d3a654d3b6a0267962d878a54cc324e454a2782c;hpb=07d18a6b15d6d937a78ecd2dd24f5375f0096766;p=gitmo%2FMouse.git diff --git a/author/generate-mouse-tiny.pl b/author/generate-mouse-tiny.pl index d3a654d..0484cdb 100755 --- a/author/generate-mouse-tiny.pl +++ b/author/generate-mouse-tiny.pl @@ -4,13 +4,22 @@ use warnings; use File::Find; use File::Slurp 'slurp'; use List::MoreUtils 'uniq'; +use autodie; -unlink 'lib/Mouse/Tiny.pm'; +unlink 'lib/Mouse/Tiny.pm' + if -e 'lib/Mouse/Tiny.pm'; my @files; find({ - wanted => sub { push @files, $_ if -f $_ && !/Squirrel|\.sw[po]$/ }, + wanted => sub { + push @files, $_ + if -f $_ + && !/Squirrel/ + && !/TypeRegistory/ + && !/\bouse/ + && !/\.sw[po]$/ + }, no_chdir => 1, }, 'lib'); @@ -21,7 +30,6 @@ for my $file (uniq 'lib/Mouse/Util.pm', sort @files) { $contents =~ s/__END__\b.*//s; # remove documentation $contents =~ s/1;\n*$//; # remove success indicator - $contents =~ s/^.*\n//; # remove shebang $contents =~ s/^use Mouse\S*\s*\n//mg; # we're already loading everything $contents =~ s/^use (Mouse\S*)\s*(.+);/BEGIN { $1->import($2) }/mg; @@ -36,7 +44,7 @@ print { $handle } << 'EOF'; # if regular Mouse is loaded, bail out unless ($INC{'Mouse.pm'}) { -eval q{ +eval <<'END_OF_TINY'; # tell Perl we already have all of the Mouse files loaded: EOF @@ -50,7 +58,7 @@ print { $handle } "\n# and now their contents\n\n"; print { $handle } $mouse_tiny; -print { $handle } "}; #eval\n} #unless\n\n"; +print { $handle } "END_OF_TINY\n} #unless\n\n"; print { $handle } << 'EOF'; package Mouse::Tiny;