因此,我正在编写一个将在cruisecontrol中使用的ant构建文件,并遇到一个奇怪的问题。我已经搜索了这个问题,但是还没有找到任何具体的解决方案,所以我认为我可以在此处发布问题。
我有以下 Ant 任务:
<target name="module.lint">
<apply executable="/usr/bin/php" failonerror="true">
<arg value="-l" />
<fileset dir="/path/to/my/elite/code" includes="**/*.php" />
</apply>
</target>
当我使用以下命令运行它时:
ant -buildfile /path/to/my/elite/buildfiles/project/elite/build.xml module.lint
它运行正常,但是当我尝试通过CruiseControl GUI构建项目时,出现以下错误:
[cc]Aug-09 15:51:04 ScriptRunner - fileset: Setup scanner in dir /path/to/my/elite/code with patternSet{ includes: [**/*.php] excludes: [] }
[cc]Aug-09 15:51:04 ScriptRunner - [apply] Executing '/usr/bin/php' with arguments:
[cc]Aug-09 15:51:04 ScriptRunner - [apply] '-l'
[cc]Aug-09 15:51:04 ScriptRunner - [apply] '/path/to/my/elite/code/Script.php'
[cc]Aug-09 15:51:04 ScriptRunner - [apply]
[cc]Aug-09 15:51:04 ScriptRunner - [apply] The ' characters around the executable and arguments are
[cc]Aug-09 15:51:04 ScriptRunner - [apply] not part of the command.
[cc]Aug-09 15:51:04 ScriptRunner - Execute:Java13CommandLauncher: Executing '/usr/bin/php' with arguments:
[cc]Aug-09 15:51:04 ScriptRunner - '-l'
[cc]Aug-09 15:51:04 ScriptRunner - '/path/to/my/elite/code/Script.php'
[cc]Aug-09 15:51:04 ScriptRunner -
[cc]Aug-09 15:51:04 ScriptRunner - The ' characters around the executable and arguments are
[cc]Aug-09 15:51:04 ScriptRunner - not part of the command.
[cc]Aug-09 15:51:04 ScriptRunner - [apply] No syntax errors detected in /path/to/my/elite/code/Script.php
不知道为什么会出现“字符...不是命令的一部分”错误,尽管看起来确实像棉绒检查确实执行了一样。
我该怎么做才能解决“字符...不是命令的一部分”错误?
最佳答案
当从CruiseControl运行构建时,这些消息表明Ant正在详细或 Debug模式下运行。 (尝试从命令行使用-v
选项运行,以亲自查看。)
检查CC配置以进行构建-查看是否设置了usedebug
或类似名称。或者,可以使用某种自定义日志记录,这些日志记录在调试级别。