Quick Start
Managing your CSS in a Gradle build is super easy now! Just add this to your build.gradle file:
Gradle 2.1+
plugins {
id "com.eriwen.gradle.css" version "2.14.0"
}
Gradle 2.0-
// Grab the plugin from a Maven Repo automatically
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.eriwen:gradle-css-plugin:1.11.0'
}
}
// Invoke the plugin
apply plugin: 'css'
// Declare your sources
css.source {
dev {
css {
srcDir "app/styles"
include "*.css"
exclude "*.min.css"
}
}
}
// Specify a collection of files to be combined, then minified and finally GZip compressed.
combineCss {
source = css.source.dev.css.files
dest = "${buildDir}/all.css"
}
minifyCss {
source = combineCss
dest = "${buildDir}/all-min.css"
yuicompressor { // Optional
lineBreakPos = -1
}
}
gzipCss {
source = minifyCss
dest = "${buildDir}/all.2.0.4.css"
}
css.source {
dev {
css {
srcDir "app/styles"
include "*.less"
}
}
}
lesscss {
source = css.source.dev.css.asFileTree
dest = "${buildDir}/styles"
}
Supports CSS Lint v0.9.10
csslint {
source = css.source.dev.css.files
dest = "${buildDir}/csslint.out"
}
Available Tasks and Options
combineCss
- source = Collection of file paths of files to merge
- dest = File/String Path for combined output
minifyCss (Uses the YUI Compressor)
- source = File to minify
- dest = File for minified output
- (Optional) yuicompressor.lineBreakPos = -1 (default) Insert a line break after the specified column number
gzipCss
- source = File to compress
- dest = File/String path for compressed output
less
- source = Files to transpile
- dest = File/String output directory
csslint
- source = Collection of file paths of files to analyze
- dest = File for output
- (Optional) format = 'compact' (default), 'text', 'lint-xml', or 'checkstyle-xml'
- (Optional) warnings = (default is all) Collection of string ids for checks. Try
csslint --list-rules
to see all possible IDs - (Optional) errors = (default is none) Collection of string ids for checks. CAUTION: These cause a non-zero exit code and fail the build!
What, you want more? Let me know!
See Also
The Gradle JS Plugin!