Reputation: 17608
YUI Compressor does not accept wildcard parameters, so I cannot run it like this:
C:>java -jar yuicompressor.jar *.js
But I have over 500 files and would rather not have to create a batch file like this:
C:>java -jar yuicompressor.jar file1.js -o deploy\file1.js
C:>java -jar yuicompressor.jar file2.js -o deploy\file2.js
...
C:>java -jar yuicompressor.jar file500.js -o deploy\file500.js
And of course my file names are not in such uniform way.
Is there way to automate this without writing any code? :)
Upvotes: 13
Views: 8320
Reputation: 592
YUI compressor now supports wildcards, starting from version 2.4.4. You can get the latest version here or from YUI Git Hub.
Upvotes: 5
Reputation: 48057
If you are geared towards Java, you can also use Ant for conversion. I've found a blog entry about an Ant Taks for the YUI Compressor. Disclaimer: Never tried it - sorry
Upvotes: 5
Reputation: 340218
I might go for a makefile (I think it would probably be more maintainable long term), but if you want a quick-n-dirty Windows batch command something like the following should work:
for %%a in (*.js) do @java -jar yuicompressor.jar "%%a" -o "deploy\%%a"
Upvotes: 12
Reputation: 11402
I should mention that using GNU Make, I have the following rule:
%-min.js: %.js
${java} -jar ${compressor} $< -o ${<:.js=-min.js}
Upvotes: 4
Reputation: 810
And for unix or cygwin you can use xargs or something like:
ls -1 *.js | awk '{printf("java -jar yuicompressor.jar %s -o deploy/%s",$1,$1)}'
Pipe that to /bin/sh when you're happy with the command line to execute it.
Upvotes: 2
Reputation: 11402
You'll need to use some sort of a script to get a list of all the .js files, and then runs the YUI Compressor on all of them. On the windows command prompt, something like this should work:
FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
Upvotes: 1