Gradle 梯度任务分组/封装

Gradle 梯度任务分组/封装,gradle,Gradle,我正在制作一个简单的网站,并正在编写一个gradle构建脚本,它将实现lint和minify css/html/js等功能 在这个阶段,我刚刚完成了CSS,它正在工作,但只是以一种初始的非结构化格式 defaultTasks 'loadToOutput', 'minCSS' ,'deployToSite' task loadToOutput(type: Copy) { from 'src/web' into 'output' } task compileSCSS(type:

我正在制作一个简单的网站,并正在编写一个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上有很多参考文档,但很少有食谱/示例/最佳实践信息:/)

解决方案:

task CSS(dependsOn: [compile, lint, minify])

你不能用
任务CSS(dependsOn:[compile,lint,minify])
就这样做吗?是的,你可以。太好了,谢谢你。如果你愿意,你可以发布一个答案,否则我会的。我把它作为一个正确的答案转载了。