Managing your CSS in a Gradle build is super easy now! Just add this to your build.gradle file:
// Grab the plugin from a Maven Repo automatically
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.eriwen:gradle-css-plugin:1.1.1'
}
}
// 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"
}
Supports CSS Lint v0.9.8
csslint {
source = css.source.dev.css.files
dest = "${buildDir}/csslint.out"
options { // Optional
format = 'lint-xml'
warnings = ['box-model', 'empty-rules', 'duplicate-properties']
errors = []
}
}
- 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
- source = File to compress
- dest = File/String path for compressed output
- source = Collection of file paths of files to analyze
- dest = File for output
- (Optional) options.format = 'compact' (default), 'text', 'lint-xml', or 'checkstyle-xml'
- (Optional) options.warnings = (default is all) Collection of string ids for checks. Try
csslint --list-rules
to see all possible IDs - (Optional) options.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!
The Gradle JS Plugin!