gpt4 book ai didi

java - 使用Gradle 2.12(对于Java),当且仅当 'build'时,如何才能下载源文件?

转载 作者:行者123 更新时间:2023-12-03 06:27:59 25 4
gpt4 key购买 nike

我想制作一个gradle脚本,该脚本仅在您构建时才通过Internet下载源代码(例如,在您``逐步分类''时不这样做)。

我基本上可以做到这一点,并且仅在没有目录'src'的情况下完成下载。如果我执行的任务是下载源代码,那么当您“逐渐清理”时,也许下载未完成。
但是我想让脚本在您“逐步构建”时下载代码
那就是为什么我写脚本下载ccompileJava中的代码...
但是,如果我这样做了,如果在没有目录“src”的情况下进行“渐变清理”,
gradle下载代码,然后将其删除...

如何制作满足我愿望的脚本...?

以下是与问题相关的脚本部分。

compileJava {
if (!new File('src').exists()){
tasks.downloadZipFile.execute()
tasks.downloadAndUnzipFile.execute()
file('downloaded/src').renameTo('src')
delete 'downloaded'
}
}


clean { delete 'src' }

最佳答案

您的代码在配置阶段执行。因此,无论您执行什么任务,它都可以执行。

相反,它应该在执行阶段执行,一旦gradle确定了要按哪个顺序运行的任务。创建一个任务,并使compileJava依赖于该任务,因为它必须在 compileJava之前执行:

task downloadSources << {
...
}

compileJava {
dependsOn downloadSources
}

注意downloadSources中的<<。这意味着闭包跟随是作为任务执行的一部分而不是其配置的一部分执行的。

关于java - 使用Gradle 2.12(对于Java),当且仅当 'build'时,如何才能下载源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36171960/

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