I went down the same road recently using LessCss, a similar technology. At first I tried to embed JRuby in my build lifecycle. But unfortunately Maven + JRuby is a monster, it's slow, huge and buggy (half the time it wouldn't even start because it would complain about the file path it was running on).
Fortunately, there is now a JavaScript port of LessCss, which I now embed via Mozilla Rhino. I describe the process in this blog post.
Yesterday though I took it to the next level, making a Maven LessCss Plugin to minimize POM configuration and code duplication. Unfortunately I can't share it because it's proprietary code for my current client, but the solution is simple:
Use GMaven to create the Plugin, create an abstract base mojo that calls the LessCss compiler and several concrete implementations that configure the base mojo for different resource sets:
e.g.
lesscss:compile
compiles from all
<resources>
to
${project.build.outputDirectory}
lesscss:test-compile
compiles from
all <testResources>
to
${project.build.testOutputDirectory}
lesscss:war-compile
(compiles from
all src/main/webapp
to
${project.build.directory}/${project.build.finalName}
, the exploded war directory)
So while I can't help you with SASS (apart from you asking the auth
or to port it to Groovy, Java or JavaScript), I think I've shown you a feasible alternative.
Of course you can also implement a Maven Plugin in java without Groovy (also embedding the JavaScript via Rhino), but I think it's easier in Groovy.