Ignore:
Timestamp:
2011-12-01T12:34:28+13:00 (12 years ago)
Author:
jmt12
Message:

Extended the manifestinator to correctly recurse into directories

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs2-extensions/parallel-building/trunk/src/bin/script/manifestinator.pl

    r24677 r24848  
    99}
    1010
    11 my $dir = $ARGV[0];
    12 if (!opendir(DH, $dir))
    13 {
    14   die ("Failed to open import directory for reading!\n");
    15 }
    16 my @files = readdir(DH);
    17 closedir(DH);
    18 
    1911open(XMLOUT, '>:utf8', 'manifest.xml');
    2012print XMLOUT "<Manifest>\n";
    2113print XMLOUT "  <Index>\n";
    2214
    23 foreach my $file (sort @files)
    24 {
    25   if ($file =~ /^\./)
    26   {
    27     next;
    28   }
    29   print XMLOUT "    <Filename>" . $file . "</Filename>\n";
    30 }
     15&manifestify($ARGV[0], '');
    3116
    3217print XMLOUT "  </Index>\n";
     
    3520close(XMLOUT);
    3621exit;
     22
     23sub manifestify
     24{
     25  my ($dir, $prefix) = @_;
     26  if (!opendir(DH, $dir))
     27  {
     28    die ("Failed to open import directory for reading!\n");
     29  }
     30  my @files = readdir(DH);
     31  closedir(DH);
     32  foreach my $file (sort @files)
     33  {
     34    if ($file =~ /^\./)
     35    {
     36      next;
     37    }
     38    my $path = $dir . '/' . $file;
     39    if (-d $path)
     40    {
     41      my $new_prefix = $prefix . $file . '/';
     42      &manifestify($path, $new_prefix);
     43    }
     44    else
     45    {
     46      print XMLOUT "    <Filename>" . $prefix . $file . "</Filename>\n";
     47    }
     48  }
     49}
Note: See TracChangeset for help on using the changeset viewer.