我的目标是每当idea
任务已运行,但不幸的是,每当运行任何内容时都会打印该消息。为什么打印行在执行时执行idea
任务没有运行?如何仅在以下情况下显示消息idea
任务执行了?
构建.gradle
apply plugin: 'idea'
task hello << {
println 'Hello world!'
}
tasks.idea() {
println '*********************************************************'
println '* You should open build.gradle as a native project from *'
println '* within IntelliJ. *'
println '*********************************************************'
}
命令的输出gradle hello
*********************************************************
* You should open build.gradle as a native project from *
* within IntelliJ. *
*********************************************************
:hello
Hello world!
BUILD SUCCESSFUL
Total time: 2.846 secs
工作方案
tasks.getByPath('idea') << {
println '*********************************************************'
println '* You should open build.gradle as a native project from *'
println '* within IntelliJ. *'
println '*********************************************************'
}
您需要将您的println
s 到一个动作中并将其添加到idea
任务。以下示例显示了使用doFirst
action:
ideaProject.doFirst {
println '*********************************************************'
println '* You should open build.gradle as a native project from *'
println '* within IntelliJ. *'
println '*********************************************************'
}
您的代码在idea
任务运行:它被评估为在配置阶段执行的配置代码Gradle 的构建生命周期 http://www.gradle.org/docs/current/userguide/build_lifecycle.html。在执行阶段仅执行操作。你的hello
任务就是这样做的。
EDIT: idea
is org.gradle.plugins.ide.idea.model.IdeaModel
在这种情况下而不是任务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)