#!/usr/bin/perl -i -p

use Regexp::Assemble;
our ( $expr, $expr2, $dexpr, $makefiles, $banned );

BEGIN {
    my $re   = Regexp::Assemble->new;
    my $remk = Regexp::Assemble->new;
    open F, 'dh_nodejs/dh_root_files.excluded' or die $!;
    while ( my $l = <F> ) {
        chomp $l;
        next if ( $l =~ /^\s*#/ );
        next if $l =~ /^\s*$/;
        $re->add($l);
    }
    close F;
    open F, 'dh_nodejs/dh_makefiles' or die $!;
    while ( my $l = <F> ) {
        chomp $l;
        next if ( $l =~ /^\s*#/ );
        next if $l =~ /^\s*$/;
        $re->add($l);
        $remk->add($l);
    }
    close F;
    $expr      = $re->as_string;
    $makefiles = $remk->as_string;

    $re = Regexp::Assemble->new;
    open F, 'dh_nodejs/dh_files.excluded' or die $!;
    while ( my $l = <F> ) {
        chomp $l;
        next if ( $l =~ /^\s*#/ );
        next if $l =~ /^\s*$/;
        $re->add($l);
    }
    close F;
    $expr2 = $re->as_string;

    $re = Regexp::Assemble->new;
    open F, 'dh_nodejs/dh_dirs.excluded' or die $!;
    while ( my $l = <F> ) {
        chomp $l;
        next if ( $l =~ /^\s*#/ );
        next if $l =~ /^\s*$/;
        $re->add($l);
    }
    close F;
    $dexpr = $re->as_string;

    $re = Regexp::Assemble->new;
    open F, 'dh_nodejs/banned' or die $!;
    while ( my $l = <F> ) {
        chomp $l;
        next if ( $l =~ /^\s*#/ );
        next if $l =~ /^\s*$/;
        $re->add($l);
    }
    close F;
    $banned = $re->as_string;

}
$/ = ';';

s#qr.*$#qr'^$banned\$'i;#s         if /our \$BANNED/;
s#qr.*$#qr/^$expr\$/i;#s           if /my \$rootFilesIgnored/;
s#qr.*$#qr/^$expr2\$/i;#s          if /my \$filesIgnored/;
s#qr.*$#qr\{^$dexpr(?:/.*)?$\}i;#s if /my \$dirIgnored/;
s#(MAKEFILES=').*?('\n)#$1\^$makefiles\$$2#;
