Skip to content

buurd/lesscss-maven-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LESS CSS Maven Plugin - SJV

For official versoin see: https://github.com/marceloverdijk/lesscss-maven-plugin

Usage

Declare the plugin and its goals. The process-sources phase is bound to by default:

<plugin>
    <groupId>org.lesscss</groupId>
    <artifactId>lesscss-maven-plugin</artifactId>
    <version>1.3.3-SJV</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

To run the compiler manually just execute: mvn lesscss:compile

Example configuration for web project

<plugin>
    <groupId>org.lesscss</groupId>
    <artifactId>lesscss-maven-plugin</artifactId>
    <version>1.3.3-SJV</version>
    <configuration>
        <sourceDirectory>${project.basedir}/src/main/webapp/less</sourceDirectory>
        <outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory>
        <compress>true</compress>
        <includes>
            <include>main.less</include>
        </includes>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Exmple configuration with two configurations....

<plugin>
    <groupId>org.lesscss</groupId>
    <artifactId>lesscss-maven-plugin</artifactId>
    <version>1.3.3-SJV</version>
    <configuration>
    	<configurationItems>
    		<configurationItem>
    			<!-- Common .js from framework -->
    			<sourceDirectory>${project.basedir}/src/main/less/common</sourceDirectory>
        		<outputDirectory>${project.build.directory}/${project.build.finalName}/css/common</outputDirectory>
        		<compress>true</compress>
    		</configurationItem>
    			<!-- Project specific -->
    			<sourceDirectory>${project.basedir}/src/main/webapp/less/project</sourceDirectory>
        		<outputDirectory>${project.build.directory}/${project.build.finalName}/css/project</outputDirectory>
        		<compress>false</compress>
    		<configurationItem>
    		</configurationItem>
    	</configurationItems>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

All configuration options

  • outputDirectory (File) - The directory for compiled CSS stylesheets. Default value is: ${project.build.directory}.
  • sourceDirectory (File) - The source directory containing the LESS sources. Default value is: ${project.basedir}/src/main/less.
  • compress (boolean) - When true the LESS compiler will compress the CSS stylesheets. Default value is: false.
  • encoding (String) The character encoding the LESS compiler will use for writing the CSS stylesheets. Default value is: ${project.build.sourceEncoding}.
  • excludes (String[]) - List of files to exclude. Specified as fileset patterns which are relative to the source directory.
  • force (boolean) - When true forces the LESS compiler to always compile the LESS sources. By default LESS sources are only compiled when modified (including imports) or the CSS stylesheet does not exists. Default value is: false.
  • includes (String[]) - List of files to include. Specified as fileset patterns which are relative to the source directory. Default value is: { "**/*.less" }
  • lessJs (String) - The location of the LESS JavasSript file.
  • concatenate (boolean) - When true all less-files will be concatenated into a single file before compiling to css
  • watch (boolean) - When true the plugin watches the sourceDirectory and recompiles the included files after they changed. Instead of configuring it in the pom you can use that option at the command line like this "mvn lesscss:compile -Dlesscss.watch=true". Then it doesn't interfere with other maven lifecycle phases and you can just kill the watch process e.g. with crtl-c. Default value is: false.
  • watchInterval (int) - The interval in milliseconds the plugin waits between the check for file changes. Default value is: 1000 ms.
  • configurationItems - a list of configurationItem.
  • configurationItem - a custom class. Holds a separate configuration, eg all of the above.

List sources

To list the LESS sources in your project the lesscss:list goal can be used. It lists the LESS sources and it's imports based on sourceDirectory and optionally includes and excludes configuration options.

Copyright and License

Copyright 2012 Marcel Overdijk

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

LESS CSS Maven Plugin

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 96.9%
  • Groovy 3.1%