[Module-build-checkins] Module-Build/lib/Module/Build Base.pm,1.354,1.355
Status: Beta
Brought to you by:
kwilliams
From: Ken W. <kwi...@us...> - 2004-11-21 15:33:48
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7860/lib/Module/Build Modified Files: Base.pm Log Message: Start working on recursive builds Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.354 retrieving revision 1.355 diff -C2 -d -r1.354 -r1.355 *** Base.pm 21 Nov 2004 14:59:19 -0000 1.354 --- Base.pm 21 Nov 2004 15:33:00 -0000 1.355 *************** *** 24,27 **** --- 24,28 ---- $self->_set_install_paths; + $self->_find_nested_builds; $self->dist_name; $self->check_manifest; *************** *** 97,100 **** --- 98,102 ---- install_path => {}, include_dirs => [], + recurse_into => [], %input, }, *************** *** 166,169 **** --- 168,190 ---- } + sub _find_nested_builds { + my $self = shift; + my $r = $self->recurse_into or return; + + my ($file, @r); + if (!ref($r) && $r eq 'auto') { + local *DH; + opendir DH, $self->base_dir + or die "Can't scan directory " . $self->base_dir . " for nested builds: $!"; + while (defined($file = readdir DH)) { + my $subdir = File::Spec->catdir( $self->base_dir, $file ); + next unless -d $subdir; + push @r, $subdir if -e File::Spec->catfile( $subdir, 'Build.PL' ); + } + } + + $self->recurse_into(\@r); + } + sub cwd { require Cwd; *************** *** 457,460 **** --- 478,482 ---- libdoc_dirs get_options + recurse_into ); |