google-app-engine - 尝试从Gradle测试任务访问另一个闭包的属性

标签 google-app-engine groovy gradle

首先,我的真正目标是告知我的功能测试,有关哪个Gradle将启动我的开发服务器的信息(如果您有兴趣,请使用this plugin)。最简单的方法似乎是设置系统属性。因此,这就是我想要做的:

appengine {
  httpPort = 8081
  ...
}

test {
  systemProperty "httpPort", appengine.httpPort
}

我对Gradle还是很陌生,可能只是不太了解我的Groovy范围规则,但是应该可以做这样的事情,对吧?我已经看到使用“global def”来完成这种事情,但是对于这种特殊情况,似乎有一个更优雅的解决方案。

最佳答案

啊哈,这就是窍门:我想特别是将系统属性传递给我的功能测试。出于某种原因,尽管test闭包是正确的选择,并且appengineFunctionalTest任务将从那里继承,但事实并非如此。一旦我将test闭包更改为appengineFunctionalTest,Gradle便可以连接各个点。我仍然对这里的范围规则感到有些迷惑,但是我相信我会学习的。 :)

appengine {
  httpPort = 8081
  ...
}

appengineFunctionalTest {
  systemProperty "httpPort", httpPort
}

因此,很遗憾,这次问答似乎专门针对问题中引用的App Engine Gradle插件。感谢提供帮助的评论员!

关于google-app-engine - 尝试从Gradle测试任务访问另一个闭包的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977755/

相关文章:

python - 应用引擎的电子邮件客户端

python - 我可以在不先 db.getting 的情况下 db.put 模型吗?

python - GAE/P : Does federated login always include user's email address?

groovy - SOAPUI:使用 txt 文件中的属性运行测试步骤,将属性设置为 txt 中的属性

Android Studio 在 gradle 同步期间无限期地卡住,但同一个项目在 Intellij Idea 中运行良好

java - 服务器端 RemoteService 实现?

android - 什么是委托(delegate)对象?

eclipse - 更改 Eclipse 颜色主题时,符号不会更改颜色

java - 为什么我会收到 .jar 文件的所有这些错误 "cannot resolve symbol R"和 "Content is not allowed in prolog"?

android-studio - 配置 Gradle 连接超时