Libsass Maven Plugin uses libsass to compile sass files. Uses jsass to interface with C-library.
This plugin only works with 64bit OS, because the upstream library jsass removed 32bit support.
Please look here for a full compability matrix: https://github.com/bit3/jsass#compatibility-overview
This project was forked from https://github.com/warmuuh/libsass-maven-plugin version 0.2.10-libsass_3.5.3
libsass-maven-plugin is available on central-repository since version 0.2.11
Configure plugin in your pom.xml:
<build>
<plugins>
<plugin>
<groupId>com.gitlab.haynes</groupId>
<artifactId>libsass-maven-plugin</artifactId>
<version>0.3.1</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<inputPath>${basedir}/src/main/sass/</inputPath>
<outputPath>${basedir}/target/</outputPath>
<includePath>${basedir}/src/main/sass/plugins/</includePath>
</configuration>
</plugin>
</plugins>
</build>
Alternatively, you can use the watch
goal to have the plugin watch your files and recompile on change:
mvn com.gitlab.haynes:libsass-maven-plugin:0.3.1:watch
Element | Default value | Documentation |
outputPath | ${project.build.directory} |
The directory in which the compiled CSS files will be placed. |
inputPath | src/main/sass |
The directories from which the source .scss files will be read, ';'-separated. These directories will be
traversed recursively, and all .scss files found in these directories or subdirectories
will be compiled.
|
includePath | null |
Additional include path, ';'-separated |
outputStyle | nested |
Output style for the generated css code. One of nested , expanded ,
compact , compressed .
|
generateSourceComments | false |
Emit comments in the compiled CSS indicating the corresponding source line. The default
value is false .
|
generateSourceMap | true |
Generate source map files. The generated source map files will be placed in the directory
specified by sourceMapOutputPath .
|
sourceMapOutputPath | ${project.build.directory} |
The directory in which the source map files that correspond to the compiled CSS will be placed |
omitSourceMapingUrl | false |
Prevents the generation of the sourceMappingUrl special comment as the last
line of the compiled CSS.
|
embedSourceMapInCss | false |
Embeds the whole source map data directly into the compiled CSS file by transforming
sourceMappingUrl into a data URI.
|
embedSourceContentsInSourceMap | false |
Embeds the contents of the source .scss files in the source map file instead of the
paths to those files
|
inputSyntax | scss |
Switches the input syntax used by the files to either sass or scss .
|
precision | 5 |
Precision for fractional numbers |
enableClasspathAwareImporter | false |
Enables classpath aware importer which make possible to @import files from classpath and WebJars.
For classpath resources use @import 'path/to/resource/in/classpath'; .
For WebJar resources a shortcut can be used: @import '{package}/{path}'; imports resource
META-INF/resources/webjars/{package}/{version}/{path} .
Warning:
Due to a limitation in jsass, this currently only works with scss files.
|
failOnError | true |
should fail the build in case of compilation errors. |
copySourceToOutput | false |
copies all files from source directory to output directory |
MIT License.