htmlcompressor
htmlcompressor copied to clipboard
HtmlCompressor.java depends on Rhino unnecessarily
When running the following code:
String html = " <h1> A String </h1>";
HtmlCompressor compressor = new HtmlCompressor();
String compressedHtml = compressor.compress(html);
We get the following stacktrace:
Caused by: java.lang.ClassNotFoundException: org.mozilla.javascript.ErrorReporter
at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128)
at org.codehaus.groovy.grails.cli.support.GrailsRootLoader.loadClass(GrailsRootLoader.java:43)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
This is due to the fact that HtmlCompressor.java is relying on Rhino.
The Java ClassLoader doesn't seem to complain if the portion of code is not
used, but Groovy does.
All the code related to Rhino on this class is actually dead code, so it could
be removed and solve our problem.
Right now, our workaround is to include a dependency to Rhino, which is a bit a
shame.
Please find attached the patch removing the dead code.
The tests are still passing after patching.
Original issue reported on code.google.com by [email protected] on 18 Sep 2012 at 11:33
Attachments: