Search code examples
cssmavensassspritecompass-sass

Sprite generation with Compass and SASS maven plugin missing load path


I am trying to use the sass-maven-plugin which has a useCompass option. I would like to be spriting images in a directory, however I cannot get the directory to be "seen". The error i keep getting is saying that the load path matching icons/*.png is not finding any files. See below for full error.

Note: If I run this from command line just using compass compile, it works. However running it with the maven goal I still get the error.

pom.xml
|-src
 |-main
   |-scss
     |-styleguide
          -styleguide.scss
     |-images
       |-icons
          -my.png

pom.xml

<plugin>
    <groupId>org.jasig.maven</groupId>
    <artifactId>sass-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>sassProcessResources</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>update-stylesheets</goal>
            </goals>
            <configuration>
                <useCompass>true</useCompass>
                <sassSourceDirectory>${basedir}/src/main/scss</sassSourceDirectory>
                <destination>${project.build.outputDirectory}/styleguide-components/resources/css</destination>
            </configuration>
        </execution>
    </executions>
</plugin>

scss file

@import "icons/*.png";

error

Compilation of template C:/code/DiscoveryStyleGuide/styleguide/src/main/scss/styleguide/sprite/Sprite.scss failed: No files were found in the load path matching "icons/*.png". Your current load paths are: ./images

config.rb

# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "compiled"
sass_dir = "/"
images_dir = "images"
# javascripts_dir = "javascripts"

Solution

  • This was actually a bug in compass. It was fixed with the following commit by @scottdavis This Comitt