Wasn't enforcing the restriction that you must supply one or more of "--web", "-...
[exim-website.git] / script / gen.pl
index a0a15b03bbab185202ff4ec897863c4bce8ed5c8..76734bf1bfa1ebd2d084a93d8aa1c729233052e3 100755 (executable)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use CSS::Minifier::XS;
+use CSS::Minifier::XS 0.07;
 use File::Copy;
 use File::Find;
 use File::Slurp;
@@ -62,9 +62,7 @@ sub do_web {
                     if ( $path =~ /(.+)\.css$/ ) {
                         print "CSS to  : docroot:/$path\n";
                         my $content = read_file("$opt{tmpl}/web/$path");
-                        my $output = $opt{minify} ? CSS::Minifier::XS::minify($content) : $content;
-                        $output =~ s/and\(/and (/g;    # hack round minify bug
-                        write_file( "$opt{docroot}/$path", $output );
+                        write_file( "$opt{docroot}/$path", $opt{minify} ? CSS::Minifier::XS::minify($content) : $content );
                     }
                     elsif ( $path =~ /(.+)\.js$/ ) {
                         print "JS to  : docroot:/$path\n";
@@ -315,7 +313,7 @@ sub transform {
     mkdirp( ( $out_path =~ /^(.+)\/.+$/ )[0] );
 
     ## Write out the document
-    open my $out, '>', $out_path or die $!;
+    open my $out, '>', $out_path or die "Unable to write $out_path - $!";
     print $out $stylesheet->output_as_bytes($doc);
     close $out;
 }
@@ -371,7 +369,7 @@ sub parse_arguments {
     error_help('Excess arguments') if ( scalar(@ARGV) );
 
     error_help('Must include at least one of --web, --spec or --filter')
-      unless ( defined $opt{web} || scalar( @{ $opt{spec} } ) || scalar( @{ $opt{web} } ) );
+      unless ( $opt{web} || scalar( @{ $opt{spec} || [] } ) || scalar( @{ $opt{filter} || [] } ) );
 
     return %opt;
 }