Gradle 从条件运行梯度任务
我对gradle比较陌生,所以请对我耐心一点。 我的身材。格雷德尔:Gradle 从条件运行梯度任务,gradle,Gradle,我对gradle比较陌生,所以请对我耐心一点。 我的身材。格雷德尔: def releaseBol = false android { compileSdkVersion 23 buildToolsVersion "23.0.2" lintOptions { abortOnError false } ... if (project.hasProperty('RELEASE') && project.ext.REL
def releaseBol = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
lintOptions {
abortOnError false
}
...
if (project.hasProperty('RELEASE') && project.ext.RELEASE == '1')
releaseBol = true
if (releaseBol)
{
..
//some code
..
}
}
...
task runScheduleReader() {
javaexec {
println 'here1'
main="-jar";
args = [
"../Generator.jar"
]
}
}
如果releaseBol
设置为true
,我希望运行runScheduleReader
,但在将其移动到那里时出现错误,我该如何执行此操作?尝试:
task runScheduleReader() {
enabled = releaseBol
doLast {
javaexec {
println 'here1'
main="-jar";
args = [
"../Generator.jar"
]
}
}
}
请看一下任务。第二个问题是,您在配置时添加了逻辑,因此每次评估脚本时都会执行该逻辑。您需要使用doLast
添加一个操作,请尝试:
task runScheduleReader() {
enabled = releaseBol
doLast {
javaexec {
println 'here1'
main="-jar";
args = [
"../Generator.jar"
]
}
}
}
请看一下任务。第二个问题是,您在配置时添加了逻辑,因此每次评估脚本时都会执行该逻辑。您需要添加一个带有doLast
的操作,Opal提供的操作是正确的,您可以使用启用的
任务选项跳过stask执行。但这不是你必须做的唯一改变
您当前的任务没有任何类型,并且在任务关闭中使用javaexec
。这使得您在构建配置阶段运行的javaexec
和启用的属性值毫无意义。您可以通过以下两种方式使其在执行阶段运行:将javaexec
移动到doLast
闭包中:
task runScheduleReader() {
enabled = releaseBol
doLast {
javaexec {
println 'here1'
main = "-jar";
args = [
"../Generator.jar"
]
}
}
}
或者设置任务的类型并将配置移动到其闭包根目录:
task runScheduleReader(type: JavaExec) {
enabled = releaseBol
println 'here1'
main = "-jar";
args = [
"../Generator.jar"
]
}
Opal提供的选项是正确的,您可以使用enabled
任务选项跳过stask执行。但这不是你必须做的唯一改变
您当前的任务没有任何类型,并且在任务关闭中使用javaexec
。这使得您在构建配置阶段运行的javaexec
和启用的属性值毫无意义。您可以通过以下两种方式使其在执行阶段运行:将javaexec
移动到doLast
闭包中:
task runScheduleReader() {
enabled = releaseBol
doLast {
javaexec {
println 'here1'
main = "-jar";
args = [
"../Generator.jar"
]
}
}
}
或者设置任务的类型并将配置移动到其闭包根目录:
task runScheduleReader(type: JavaExec) {
enabled = releaseBol
println 'here1'
main = "-jar";
args = [
"../Generator.jar"
]
}
即使releaseBol处于禁用状态,它仍在运行false@Dim,您能提供这样一个运行的输出吗?仅禁用此任务没有任何帮助,因为它不是JavaExec
类型,而是JavaExec
在配置阶段执行的doLast
或doFirst
+答案是1anyway@Stanislav,当我外出跑步时,我得出了相同的结论;)谢谢即使releaseBol处于禁用状态,它仍在运行false@Dim,您能提供这样一个运行的输出吗?仅禁用此任务没有任何帮助,因为它不是JavaExec
类型,而是JavaExec
在配置阶段执行的doLast
或doFirst
+答案是1anyway@Stanislav,当我外出跑步时,我得出了相同的结论;)谢谢