当我使用gradlew deployJelastic
运行时,我没有输出。
task deployJelastic() {
logging.level = LogLevel.INFO
ant.taskdef(name: 'jelastic', classname: 'com.jelastic.Jelastic', classpath: configurations.jelastic.asPath)
ant.jelastic(email: "foo",
password: "bar",
dir: "",
filename: "baz-1.0.war",
context: "",
environment: "env",
apihoster: "app.whelastic.net") {
}
}
如果我用gradlew deployJelastic -i
运行任务,我会得到我正在寻找的所有蚂蚁输出。
我不想更改任何其他任务的日志记录输出,但出于某种原因,我无法使用这种gradle建议的方法。
来自Gradle的日志页面。 http://www.gradle.org/docs/current/userguide/logging.html
要在任务执行期间更改标准输出或错误的日志级别,任务还提供LoggingManager。
这是我正在访问和设置的地方。 logging.level = LogLevel.INFO
我正在使用此设置从命令行执行。
Build time: 2014-11-24 09:45:35 UTC
Build number: none
Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a
Groovy: 2.3.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.7.0_71 (Oracle Corporation 24.71-b01)
OS: Windows 7 6.1 amd64
答案 0 :(得分:0)
我能够让它像这样工作。显然{}内的东西是任务的配置。这就是你想要在任务对象上调用setter的事情。 doLast是一个闭包,它接受要执行的命令集合。因此,如果您使用此表单,则定义任务,在顶部执行所有任务配置,然后在doLast {}闭包中编写任务假定要执行的任何代码。
我发现这非常令人困惑,但在经过几十次任务定义的迭代后,我发现这个是最好的。顺便说一下,我不知道doLast如何通过使用<<<<<<<<<<<<<运营商,因此您的里程可能会有所不我不知道doLast是否只是在定义时附加到任务列表中的最后一个位置,或者它是否是一个保证最后的特殊位置。
task deployJelastic(name: 'deployJelastic', dependsOn: war) {
logging.level = LogLevel.INFO
def environmentSuffix = project.properties.enviromentSuffix ?: "test"
doLast {
ant.taskdef(name: 'jelastic', classname: 'com.jelastic.Jelastic', classpath: configurations.jelastic.asPath)
ant.jelastic(email: "",
password: "",
dir: project.projectDir.absolutePath + "/build/libs/",
filename: "ServeDirtyLibsInJava-${project.version}.war",
context: "",
environment: "foo-${environmentSuffix}",
apihoster: "app.whelastic.net") //Got this from http://docs.jelastic.com/jelastic-hoster-info
}
}