gpt4 book ai didi

gradle - gradle初始化脚本任务未调用:Gradle 2.14.1

转载 作者:行者123 更新时间:2023-12-03 05:13:30 26 4
gpt4 key购买 nike

请在下面的init.gradle文件中查找该文件,该文件对我所有的项目都有共同的任务:

rootProject { apply plugin: "eclipse" }

gradle.allprojects{
ext.commonTaskForEveryBuild = {
println "Common task for every build starts here..."
println "Common task for every build ends here..."
}
}
也可以在下面的示例build.gradle中找到我的一个项目:-
apply plugin : 'java'

clean.doFirst{
println "Before invoking commonTaskForEveryBuild"

//This is invocation of commonTaskForEveryBuild
commonTaskForEveryBuild

println "After invoking commonTaskForEveryBuild"
}
以下是样本build.gradle文件执行“gradle clean”任务的日志:-

:clean

Before invoking commonTaskForEveryBuild

After invokingcommonTaskForEveryBuild

:clean UP-TO-DATE

BUILD SUCCESSFUL

Total time: 3.722 secs


看起来像clean.doFirst被调用,但是它没有调用commonTaskForEveryBuild的定义。虽然,没有编译时或运行时错误。
请提出建议。

最佳答案

可以,您的任务不会被调用,因为您的脚本不会尝试执行该任务,甚至它也不是任务。您只是得到了commonTaskForEveryBuild实例,但是对此不执行任何操作。

您可能需要阅读the official user guide才能找出如何从另一个任务中调用一个任务。简而言之-这通常是通过任务依赖关系完成的。您必须根据clean任务来创建commonTaskForEveryBuild任务,才能在clean任务执行之前运行它。可以这样完成:

clean.dependsOn commonTaskForEveryBuild

此外,这全都与任务有关,但在您的情况下, ext.commonTaskForEveryBuild = {...}甚至不是任务,而只是一个闭包,必须作为 commonTaskForEveryBuild()执行

关于gradle - gradle初始化脚本任务未调用:Gradle 2.14.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38650904/

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