gradle 未调用初始化脚本任务:Gradle 2.14.1
gradle init script task not invoked : Gradle 2.14.1
请在下面找到 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 invoking
commonTaskForEveryBuild
: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()
执行
请在下面找到 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 invoking commonTaskForEveryBuild
: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()