我正在做一个简单的网站,并正在编写一个gradle构建脚本,将像lint和minify css/html/js的事情。
在这个阶段,我刚刚完成了CSS,它正在工作,但只是一个初始的非结构化格式
defaultTasks 'loadToOutput', 'minCSS' ,'deployToSite'
task loadToOutput(type: Copy) {
from 'src/web'
into 'output'
}
task compileSCSS(type: Exec) {
commandLine 'sass', '/home/alistair/dev/personalwebsite/output/style/main.scss', '/home/alistair/dev/personalwebsite/output/style/main.css'
}
task csslint(type: Exec, dependsOn: compileSCSS) {
def cmdLineOptions = ["--errors=adjoining-classes,box-model,box-sizing,compatible-vendor-prefixes,display-property-grouping,duplicate-background-images,duplicate-properties,empty-rules,errors,fallback-colors,floats,font-faces,font-sizes,gradients,import,important,known-properties,outline-none,overqualified-elements,qualified-headings,regex-selectors,rules-count,shorthand,text-indent,unique-headings,universal-selector,unqualified-attributes,vendor-prefix,zero-units"]
def cssDir = '/home/alistair/dev/personalwebsite/output/style'
commandLine = ["csslint"] + cmdLineOptions + [cssDir]
}
task minCSS(type: Exec, dependsOn: csslint) {
commandLine 'csso', '/home/alistair/dev/personalwebsite/output/style/main.css', '/home/alistair/dev/personalwebsite/output/style/main.css'
}
task deployToSite(type: Copy) {
from 'output'
into '/var/www/personalwebsite'
}我想做的是以一种更简洁的方式对CSS任务进行分组。例如
task CSS {
compile
lint
minify
}然而,我唯一能弄清楚如何做到这一点的方法是有一个单独的构建文件,其中包含CSS项目,这对于我当前的需求来说有点过多。有没有一种简单/推荐的方法可以将任务封装到一个组中,并且可以说只是执行组?
( gradle上有很多参考文档,但很少有cookbook/example/best practice info :/)
发布于 2012-06-24 15:02:36
解决方案:
task CSS(dependsOn: [compile, lint, minify])https://stackoverflow.com/questions/11175226
复制相似问题