Upgrade to ExtUtils::MakeMaker 6.19
[p5sagit/p5-mst-13.2.git] / t / lib / MakeMaker / Test / Setup / Recurs.pm
1 package MakeMaker::Test::Setup::Recurs;
2
3 @ISA = qw(Exporter);
4 require Exporter;
5 @EXPORT = qw(setup_recurs teardown_recurs);
6
7 use strict;
8 use File::Path;
9 use File::Basename;
10
11 my %Files = (
12              'Recurs/Makefile.PL'          => <<'END',
13 use ExtUtils::MakeMaker;
14
15 WriteMakefile(
16     NAME          => 'Recurs',
17     VERSION       => 1.00,
18 );
19 END
20
21              'Recurs/prj2/Makefile.PL'     => <<'END',
22 use ExtUtils::MakeMaker;
23
24 WriteMakefile(
25     NAME => 'Recurs::prj2',
26     VERSION => 1.00,
27 );
28 END
29             );
30
31 sub setup_recurs {
32     while(my($file, $text) = each %Files) {
33         # Convert to a relative, native file path.
34         $file = File::Spec->catfile(File::Spec->curdir, split m{\/}, $file);
35
36         my $dir = dirname($file);
37         mkpath $dir;
38         open(FILE, ">$file") || die "Can't create $file: $!";
39         print FILE $text;
40         close FILE;
41     }
42
43     return 1;
44 }
45
46 sub teardown_recurs { 
47     foreach my $file (keys %Files) {
48         my $dir = dirname($file);
49         if( -e $dir ) {
50             rmtree($dir) || return;
51         }
52     }
53     return 1;
54 }
55
56
57 1;