Hi Alex,
First of all, thanks for your fantastic job on wro4j, I have been following your progress for quite some time now as I planned to replace our asset pipeline system with yours.
Today I took the latest version (1.4.8) and tried it with the maven plugin.
I am using the ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory with a wro.properties and a wro.groovy file
JS)
Just using the googleClosureSimple as pre processor for now and it works just fine. However as soon as I introduce Coffeescript, I got the following error:
[ERROR] Failed to execute goal ro.isdc.wro4j:wro4j-maven-plugin:1.4.8:run (default) on project website-webapp: Exception occured while processing: Could not execute the script because: {"message":"octal literal '0700' must be prefixed with '0o' on line 14"} -> [Help 1]
Right now I don't have any coffee file in the stack that is presented to wro4j.
CSS)
Somehow now matter what my main css stack is, it doesnt work at all with a StackOverflowError:
[INFO] folder: e:\static\css
[INFO] processing group: test.css
---------------------------------------------------
constituent[0]: file:/C:/Java/apache-maven-3.0.4/lib/aether-api-1.13.1.jar
constituent[1]: file:/C:/Java/apache-maven-3.0.4/lib/aether-connector-wagon-1.13.1
constituent[2]: file:/C:/Java/apache-maven-3.0.4/lib/aether-impl-1.13.1.jar
constituent[3]: file:/C:/Java/apache-maven-3.0.4/lib/aether-spi-1.13.1.jar
constituent[4]: file:/C:/Java/apache-maven-3.0.4/lib/aether-util-1.13.1.jar
constituent[5]: file:/C:/Java/apache-maven-3.0.4/lib/commons-cli-1.2.jar
constituent[6]: file:/C:/Java/apache-maven-3.0.4/lib/maven-aether-provider-3.0.4.j
constituent[7]: file:/C:/Java/apache-maven-3.0.4/lib/maven-artifact-3.0.4.jar
constituent[8]: file:/C:/Java/apache-maven-3.0.4/lib/maven-compat-3.0.4.jar
constituent[9]: file:/C:/Java/apache-maven-3.0.4/lib/maven-core-3.0.4.jar
constituent[10]: file:/C:/Java/apache-maven-3.0.4/lib/maven-embedder-3.0.4.jar
constituent[11]: file:/C:/Java/apache-maven-3.0.4/lib/maven-model-3.0.4.jar
constituent[12]: file:/C:/Java/apache-maven-3.0.4/lib/maven-model-builder-3.0.4.ja
constituent[13]: file:/C:/Java/apache-maven-3.0.4/lib/maven-plugin-api-3.0.4.jar
constituent[14]: file:/C:/Java/apache-maven-3.0.4/lib/maven-repository-metadata-3.
constituent[15]: file:/C:/Java/apache-maven-3.0.4/lib/maven-settings-3.0.4.jar
constituent[16]: file:/C:/Java/apache-maven-3.0.4/lib/maven-settings-builder-3.0.4
constituent[17]: file:/C:/Java/apache-maven-3.0.4/lib/plexus-cipher-1.7.jar
constituent[18]: file:/C:/Java/apache-maven-3.0.4/lib/plexus-component-annotations
constituent[19]: file:/C:/Java/apache-maven-3.0.4/lib/plexus-interpolation-1.14.ja
constituent[20]: file:/C:/Java/apache-maven-3.0.4/lib/plexus-sec-dispatcher-1.3.ja
constituent[21]: file:/C:/Java/apache-maven-3.0.4/lib/plexus-utils-2.0.6.jar
constituent[22]: file:/C:/Java/apache-maven-3.0.4/lib/sisu-guava-0.9.9.jar
constituent[23]: file:/C:/Java/apache-maven-3.0.4/lib/sisu-guice-3.1.0-no_aop.jar
constituent[24]: file:/C:/Java/apache-maven-3.0.4/lib/sisu-inject-bean-2.3.0.jar
constituent[25]: file:/C:/Java/apache-maven-3.0.4/lib/sisu-inject-plexus-2.3.0.jar
constituent[26]: file:/C:/Java/apache-maven-3.0.4/lib/wagon-file-2.2.jar
constituent[27]: file:/C:/Java/apache-maven-3.0.4/lib/wagon-http-2.2-shaded.jar
constituent[28]: file:/C:/Java/apache-maven-3.0.4/lib/wagon-provider-api-2.2.jar
---------------------------------------------------
Exception in thread "main" java.lang.StackOverflowError
at java.util.regex.Pattern$Branch.match(Pattern.java:4498)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
at java.util.regex.Pattern$Loop.match(Pattern.java:4683)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
at java.util.regex.Pattern$CharProperty.match(Pattern.java:3694)
Also I noticed that the maven plugin always emit the following error :
[Fatal Error] :1:1: Content is not allowed in prolog.
Hopefully all the above are just mistakes on my part and someone can shed some light on what I am doing wrong.
Now got a few questions.
In our current asset pipeline system, we can output a given group to a relative path of the default output directory. I was hoping I could use a custom naming strategy to provide this but it does not look like it would work out of the box.
I wonder if it would be possible to enhance slightly wro4j so that if the custom naming stragegy is return a path as the new name, it would recognize it.
for example, for a js file with a default jsOutputDir to d:\static\js and a default outdir to d:\static
name = "foo/bar" would produce d:\static\js\foo\bar.js
name = "/foo/bar" would produce d:\static\foo\bar.js
The use case for the above is that in our application, we provide a web bar that people can embed on their own website (like meebo bar for example) and the path to it as a business meaning as we have the language in it among a channel name (/en/bar.js vs /fr/bar.js)
In the same spirit, I wonder if it wouldn't be beneficial to support abstract group which would allow composition by referencing the abstract group in few concrete groups without actually outputting the abstract group.
I believe Coffeescript will produce a source map for google closure fairly soon and It would be very nice if on wro4j, the plumbing for this to work would be already planned.
--
Chris