libsass wrapper for maven
Java CSS
Clone or download

README.md

Libsass Maven Plugin Build Status Maven Central

Libsass Maven Plugin uses libsass to compile sass files. Uses jsass to interface with C-library.

Changelog:

  • 0.2.10 - upgraded libsass to 3.5.3
  • 0.2.9 - upgraded libsass to 3.4.7
    • refreshed output files for eclipse
    • enhanced error output with failing files - thanks to @VsevolodGolovanov
  • 0.2.8 - upgraded libsass to 3.4.4
    • used compilation classpath for including webjars
    • fixed issue with os-dependent path-separator (using ';' for every OS)
    • plugin now aware of incremental builds
  • 0.2.7 - upgraded libsass to 3.4.3
    • added webjar support - thanks to @flipp5b
  • 0.2.6 - upgraded libsass to 3.4.0
    • added libsass:watch goal to watch and recompile include directory - thansk to @lorenzodee
  • 0.2.5 - added copySourceToOutput, changed default outputstyle to 'nested', upgraded libsass to 3.3.6
  • 0.2.4 - fixed bug with empty spaces in path
  • 0.2.3 - upgrade to libsass 3.3.4
  • 0.2.2 - minor bugfixes, readded m2e lifecycle mapping
  • 0.2.1 - updated libsass to 3.3.3
  • 0.2.0 - switched native bindings to bit3 bindings (using libsass 3.3.2), java8-only
  • 0.1.7 - UTF8 encoding issue, used wrong file extension for sass style
  • 0.1.6 - added m2e eclipse intergation, thanks @dashorst
  • 0.1.5 - readded macOs binaries, thanks @tommix1987
  • 0.1.4 - added contained libsass-version to artifact-version (e.g. 0.1.4-libsass_3.2.4-SNAPSHOT).
    • switched to new libsass API (sass_context.h)
    • removed image_path option (because of #420)
    • added failOnError flag to skip errors and continue the build, if wanted
  • 0.1.3 - fixed #10 - multi-module projects
  • 0.1.2 - added PR #4, updated to libsass version 3.1 for windows, linux, macos - thanks to @npiguet, @ogolberg
  • 0.1.1 - scss files can now be placed in inputpath/ directly
  • 0.1.0 - changed artefact group to com.github.warmuuh

Installation

libsass-maven-plugin is available on central-repository since version 0.1.2

Usage

Configure plugin in your pom.xml:

<build>
   <plugins>
      <plugin>
         <groupId>com.github.warmuuh</groupId>
         <artifactId>libsass-maven-plugin</artifactId>
         <version><VERSION>-libsass_3.4.4</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.github.warmuuh:libsass-maven-plugin:<version>-libsass_3.4.4:watch

Configuration Elements

Element Default value Documentation
outputPath ${project.build.directory} The directory in which the compiled CSS files will be placed.
inputPath src/main/sass The directory from which the source .scss files will be read. This directory will be traversed recursively, and all .scss files found in this directory 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. Note that as of libsass 3.1, expanded and compact result in the same output as nested.
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}.
failOnError true should fail the build in case of compilation errors.
copySourceToOutput false copies all files from source directory to output directory

License

MIT License.