macray / htmlcompressor

Automatically exported from code.google.com/p/htmlcompressor
Apache License 2.0
0 stars 0 forks source link

HtmlCompressor.java depends on Rhino unnecessarily #77

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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 pablo.t...@gmail.com on 18 Sep 2012 at 11:33

Attachments: