Я недавно пошел по той же дороге, используя LessCss , аналогичную технологию. Сначала я попытался встроить JRuby в мой жизненный цикл сборки. Но, к сожалению, Maven + JRuby - монстр, он медленный, огромный и глючный (половину времени он даже не запускается, потому что будет жаловаться на путь к файлу, на котором он работает).
К счастью, теперь есть порт JavaScript LessCss, который я сейчас внедряю через Mozilla Rhino. Я опишу процесс в этом посте .
Вчера я поднял его на новый уровень, создав плагин Maven LessCss для минимизации конфигурации POM и дублирования кода. К сожалению, я не могу поделиться им, потому что это собственный код для моего текущего клиента, но решение простое:
Используйте GMaven для создания плагина , создайте абстрактное базовое mojo, которое вызывает компилятор LessCss, и несколько конкретных реализаций, которые настраивают базовое mojo для различных наборов ресурсов:
, например
lesscss:compile
компилируется из всех
<resources>
до
${project.build.outputDirectory}
lesscss:test-compile
компилируется из
все <testResources>
до
${project.build.testOutputDirectory}
lesscss:war-compile
(компилируется из
все src/main/webapp
до
${project.build.directory}/${project.build.finalName}
, взорванный военный справочник)
Так что пока я не могу помочь вам с SASS (кроме того, что вы спрашиваете
или перенести его на Groovy, Java или JavaScript), я думаю, что я показал вам реальную альтернативу.
Конечно, вы также можете реализовать плагин Maven в java без Groovy (также встраивая JavaScript через Rhino), но я думаю, что в Groovy это проще.