gradle:未排序的dependsOn任务,如何处理?

Hug*_*ugo 3 grails groovy gradle

我的安装程序有三个阶段:

1)下载2)解压缩3)配置

下载,使用ant.get和ant.checksum,所以我构建了自己的DownloadTask类,然后在构建中:

task download (type: DownloadTask) {
    url = url
    checksumAlgorithm = 'MD5'
    destFile = zipFile
}
Run Code Online (Sandbox Code Playgroud)

所以我带来了4个任务:

task download {...}
task unzip {...}
task configure {..}
task install(dependsOn: [download, unzip, configure]) {}
Run Code Online (Sandbox Code Playgroud)

但我注意到dependsOn不尊重排序顺序,http://issues.gradle.org/browse/GRADLE-427

那么......这里的解决方法是什么?

我不能只将这个任务作为方法移动,因为下载它使用的是我的DownloadTask类.我可以将所有方法都移动(甚至是DownloadTask),但这似乎不是最好的解决方案.

谢谢

小智 9

那么,如果这对您有任何帮助,您也可以手动调用您的依赖项:

task install << {
    download.execute()
    unzip.execute()
    configure.execute()
}
Run Code Online (Sandbox Code Playgroud)

我不认为这是真正的Gradle想法,但对于我的多项目构建,这非常有效.

问候,

一月