gpt4 book ai didi

java - 如何将代码从 gradle 任务配置步骤移至任务执行

转载 作者:行者123 更新时间:2023-12-01 09:42:30 24 4
gpt4 key购买 nike

我有 gradle 任务:

task immportMyData(type: Exec) {
def dumnp= ""

new File("${System.env.MY_HOME}/export").eachDir() { dir ->
dumpName = dir.getName()
}

workingDir "${System.env.MY_HOME}/../test"
standardOutput = new ByteArrayOutputStream()

ext.output = {
return standardOutput.toString()
}
}

...

据我了解它的任务配置,因为它每次都会执行。

那么,有什么方法可以将代码从大火步骤移动到任务主体(执行步骤)吗?有些人是这样认为的。

task immportMyData(type: Exec) << {
//code from configuration
}

another worlds

task immportMyData(type: Exec) **<<** {
def dumnp= ""

new File("${System.env.MY_HOME}/export").eachDir() { dir ->
dumpName = dir.getName()
}

workingDir "${System.env.MY_HOME}/../test"
standardOutput = new ByteArrayOutputStream()

ext.output = {
return standardOutput.toString()
}
}

我检查过gradle docs ,但运气不好

最佳答案

我认为您可能误解了 Exec 任务的作用。 Exec 用于运行外部命令,即另一个进程。因此,它需要您指定其 commandLine 属性,以便它在执行时执行任何操作。请参阅here了解更多信息。

看起来您实际上想做的是“在任务执行期间运行一些代码”,这可以使用常规(非Exec)任务来实现。像这样的事情:

task importMyData {
//Code to configure task

doLast {
//Code to run at execution time, maybe this?:
new File("${System.env.MY_HOME}/export").eachDir() { dir ->
ext.dump = dir.getName()
}
}
}

希望这有帮助。

关于java - 如何将代码从 gradle 任务配置步骤移至任务执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38346178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com