如果使用String参数启动,Grails将失败

时间:2014-04-25 13:41:51

标签: grails plugins jenkins

我对Grails框架很陌生,而且我遇到了一些奇怪的行为。如果我以这种方式使用grails命令行工具

grails "-DghprbPullTitle=Title with spaces" clean

grails失败并显示此错误消息

| Script 'With' not found, did you mean:
   1) IntegrateWith
   2) Init
   3) CreateUnitTest

以这种方式启动grails将起作用

grails "-DghprbPullTitle=Title_without_spaces" clean

好的,现在可以说"然后只是避免空格"问题是,当我使用Jenkins + Grails插件+ Pull Request Builder插件时会发生这种情况。 Pull Request Builder插件使用空格生成其中一些参数。

任何想法如何使用包含这种包含空格的参数的grails。或者我如何告诉Pull Request Builder插件没有生成这样的参数。

另一方面,Maven能够处理这样的参数。

提前致谢, 马可

3 个答案:

答案 0 :(得分:1)

我最终使用grailsw调用而不是Grails plugin来使用shell构建器。

答案 1 :(得分:0)

好的,这是grails命令行工具中的一个错误。它将固定在Grails 2.4-RC1中。 见Grails Issue Tracker

答案 2 :(得分:0)

我通过抑制-D构建环境变量提交了一个PR https://github.com/jenkinsci/grails-plugin/pull/12来解决这个问题。

我正在使用Github pull请求构建器插件https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin来运行test-app,并遇到与其他问题相同的问题。我没有使用ghprb插件传递的任何变量,所以我添加了一个选项来抑制-D构建环境变量。检查此选项时,没有-D变量传递给grails,允许使用grails插件构建以按预期方式运行目标。

如果您想测试它是否适合您,可以从此处http://jmoses.co/data/grails.hpi下载并手动安装How to install a plugin in Jenkins manually?