【发布时间】:2012-10-05 20:51:43
【问题描述】:
如何在执行期间将变量传递给 Exec?我想编写一个传递 gradle 文件,该文件将执行我当前的构建命令,让我将配置从构建服务器计划移动到源代码控制管理的 build.gradle 文件。这也是我在为大型项目做准备时了解 gradle 的一部分。
我希望使用不同的配置变量来执行命令。在 ant 中,我会设置我的属性,然后通过嵌套的 env 块将它们传递给 exec。在 gradle 中,我正在填充一个与任务环境合并的地图,但这不起作用。
我无法在 checkenv 中添加“
请提供建议或指出手册/文档的正确部分。
build.gradle - 执行 gradle checkenv
def buildEnvironmentVariables = [:]
task setEnv() << {
buildEnvironmentVariables['JAVA_OPTS']="-XX:ErrorFile=foo/logs"
}
task checkenv(dependsOn: 'printEnv', type:Exec) {
workingDir '../..'
executable = 'cmd'
environment << buildEnvironmentVariables
println "buildEnvironmentVariables = " << buildEnvironmentVariables['JAVA_OPTS']
args = ['/c','set','JAVA_OPTS']
}
我是否应该只在项目中添加一个相当于“目标”的任务,并将像 exec 这样的动作封装在顶级任务中?
添加任务类似于ant target,封装任务类似于ant task?
def buildEnvironmentVariables = [:]
task setEnv() << {
buildEnvironmentVariables['JAVA_OPTS']="-XX:ErrorFile=foo/logs"
}
task checkenv(dependsOn: 'printEnv') << {
println "buildEnvironmentVariables = " << buildEnvironmentVariables['JAVA_OPTS']
ext.check = exec() {
workingDir '../..'
executable = 'cmd'
environment << buildEnvironmentVariables
args = ['/c','set','JAVA_OPTS']
}
}
谢谢
【问题讨论】:
标签: gradle