Gradle:从插件中更改任务的属性

时间:2018-02-24 08:42:37

标签: gradle plugins configuration

这是尽可能基本的......但我还没有在这里或在gradle.org或一般情况下找到答案。 NB Gradle 4.4.1,Groovy 2.4(由Eclipse-Gradle使用)或2.6(命令行)。 Java 8。

在我的build.gradle中,我有application插件,并设置了主类:

apply plugin: 'application'
mainClassName = "core.ConsoleHandler"

...包括这个插件增加了2"依赖任务" (如果这是正确的术语:即build现在是"依赖"对他们而言:taskZiptaskTar

Here我们看到taskZip的类型为Zip ...并查找Task here此子类的文档,我们看到一个这种Task的属性是destinationDir ...即.zip文件最终的位置。

我想要做的就是将其设置为特定目录。

我尝试过(在build.gradle中)像

这样的东西
task application.taskZip { 
    destinationDir = 'D:/bobble'
}

taskZip { 
    destinationDir = 'D:/bobble'
}

destinationDir = 'D:/bobble'

这些都会产生致命错误。我该怎么办?

2 个答案:

答案 0 :(得分:1)

distZip而非taskZip

apply plugin: 'application'
distZip { 
    destinationDir = file('D:/bobble') 
}

答案 1 :(得分:0)

destinationDir需要File参数

尝试类似的东西:

tasks.withType(taskZip) {
    destinationDir = file("D:/bobble")
}