#!/usr/bin/perl

recursedir("..\\modelhack");
recursedir("compiler");
recursedir("batch");

recurseforresources("compiler", "..\\build");
recurseforresources("batch", "..\\build");
recurseforresources("model", "..\\build");

sub recursedir($) {
  my ($path) = @_;
  foreach my $fname (glob "$path\\*.java") {
    print "$fname\n" if $fname =~ /\.java$/;
  }
  foreach my $dname (glob "$path\\*\\") {
    recursedir($dname);
  }
}

sub recurseforresources($$) {
  my ($path, $dest) = @_;
  foreach my $fname (glob "$path\\*.properties") {
    if ($fname =~ /\.properties$/) {
      system("mkdir \"$dest\"");
      system("copy >NUL \"$fname\" \"$dest\"");
      print STDERR "$fname -> $dest\n";
    }
  }
  foreach my $fname (glob "$path\\*.rsc") {
    if ($fname =~ /\.rsc$/) {
      system("mkdir \"$dest\"");
      system("copy >NUL \"$fname\" \"$dest\"");
      print STDERR "$fname -> $dest\n";
    }
  }
  foreach my $dname (glob "$path\\*\\") {
    my $dirbase = substr($dname, length($path));
    recurseforresources($dname, "$dest$dirbase");
  }
}