gradle - 为运行和测试 Gradle 任务重用环境变量定义的方法?
问题描述
要求:
在选定的 Gradle 子项目中,我们希望为 、 等任务重用环境run
变量debug
定义test
。例如,我认为以下是处理事情的自然(??)方式:
myproj.gradle
test.dependsOn defineEnvironement( mainClass )
test.doFirst() {
workingDir = "${testFolder}";
}
run.dependsOn defineEnvironement( mainClass )
run.doFirst() {
workingDir = "${runFolder}";
}
在根项目或根项目defineEnvironment()
中声明任务的位置common.gradle
,例如...
common.gradle
task defineEnvironement( type : JavaExec ) {
println "--> defineEnvironementVariables()"
environment "PROG_HOME", "${RUN_PATH}";
environment "PROG_CONFIG_PATH", "${RUN_PATH}/${cfgFolder}";
:
}
问题...
但是,目前这行不通。关于我在课堂上的“方法签名”有各种各样的抱怨。取决于我为
gradle myproj:test
... 命令。我已经移动了它并使用了不同的方法,例如通过调用它doFirst()
并查看来自 web 和 stackoverflow 的不同接收。这种方法大致遵循以下步骤:
早期的替代方案拒绝了“方法”,因为上下文中没有环境——这是有道理的,run
任务必须是Exec
典型的。我认为这里的关键问题是......
我如何将
test
和run
任务传递给defineEnvironement
任务?当然,这是常见的(最好的?)实践方法吗?
如果不是,那么重用这些
defineEnvironement
步骤并且只需要在一个地方指定和更新它们的首选方法是什么?
我很抱歉,这有点基本。我认为这种事情是大多数项目(希望)通过共享通用定义/构建代码来做的事情。
解决方案
推荐阅读
- vue.js - heroku 中的 vue-cli-service 构建失败
- scala - 如何在 IntelliJ 中更改捆绑 sbt 的 coursier 缓存目录
- javascript - 在高图地图中为动态变量格式化工具提示,一些用逗号,另一些用百分比
- reactjs - 如何在 React 中组织/管理上下文状态和辅助函数(主要是 API 调用)
- python - 如何在 DJANGO 中按最大数量的相同记录排序
- nuxt.js - 注销后 Nuxt 身份验证未重定向
- reactjs - React jwt登录刷新问题
- google-apps-script - Getting a “Google hasn’t verified this app” warning when creating a trigger - ok to ignore it?
- python - ELMo嵌入中的“Highway.forward:输入必须存在”?
- python - Python 和 Kivy 如何将值从一个类传递到另一个类?