I was using cssMin per the example on http://wro4j.readthedocs.org/en/stable/MavenPlugin/ but stripped down to:
preProcessors
=
jsMin
,
cssMin
postProcessors=
rubySassCss
since I'm interested in SCSS, not Less or Coffeescript. I'm also not using @import yet. This turns
@charset
"UTF-8"
;
/*!
Copyright ... */
@font
-
face
{
font
-
family
:
Roboto
;
font
-weight:
300
;
src: url(../font/...) format("truetype");}
into
@font
-
face
{
font
-
family
:
Roboto
;
font
-weight:
300
;
src: url(../font/...) format("truetype");
}
stripping out the /*! comments and, strangely, the @charset. It also doesn't do much compression. So following what seems to be the standard advice, I tried a different compressor:
preProcessors
=
jsMin
,
yuiCssMin
postProcessors=
rubySassCss
That output:
@charset
"UTF-8"
;
/*
Copyright ... */
@font
-
face
{
font
-
family
:
Roboto
;
font
-weight:
300
;
src: url(../font/...) format("truetype");
}
but again didn't do much compression. So I tried:
preProcessors
=
jsMin
postProcessors=
yuiCssMin,rubySassCss
Same output. Tried:
preProcessors
=
jsMin
postProcessors=
rubySassCss,yuiCssMin
which gives:
@charset
"UTF-8"
;
@font
-
face
{
font
-
family
:
Roboto
;
font
-weight:
300
;
src:url(../font/...)
format("truetype")
}
Good compression, but now I lose the comments. I also tried:
preProcessors
=
jsMin,cssCompressor
postProcessors=
rubySassCss
but the Sass processor throws an exception on syntax, and
preProcessors
=
jsMin
postProcessors=
rubySassCss,cssCompressor
gives the same as the last result.
So
what's the proper configuration?
This was all done from
command-line Maven, with Eclipse shut down so it wouldn't interfere.
The output files were all under target/ROOT/.
@charset "UTF-8";@font-face{font-family:Roboto;font-weight:300;src:url(../font/...) format("truetype");}
/* Copyright ... */@font-face { font-family: Roboto; font-weight: 300; src: url(../font/...) format("truetype"); }
@font-face { font-family: Roboto; font-weight: 300; src: url(../font/...) format("truetype"); }
- Applying processors one by one can help identify the problem easier.
- It would make sense report some of the found issues to the native ruby library responsible for processing sass resources.