我对CCnet中有关参数和预处理器的配置问题感到非常沮丧。 很难在ccnet上获得一些文档,我就像是在犯一个bug,所以我想我可以问你们:
我需要在CCnet项目中分离次要版本和主要版本
这在任务中很有用:
<cb:define version="1.25"></cb:define>
<cb:define name="version2">
<cb:eval expr="'$(version)'.split('.')[0]" />
</cb:define>
我得到了一个干净的结果$(version2)=“1”(版本被拆分好了)
但是使用参数,它不起作用:
<cb:define name="version2">
<cb:eval expr="'$[versionParam]'.split('.')[0]" />
</cb:define>
如果versionParam为“1.25”,则结果为“1.25”
没有拆分。该参数似乎已被处理但未被识别为字符串。
有人可以告诉我我做错了什么或者更好的方法吗?
答案 0 :(得分:1)
ccnet配置文件在ccnet启动时加载一次,并在重新启动ccnet service / exe之前设置。根据传入的ccnet参数值,您不能拥有像'expr'这样的动态表达式。你最好将versionParam发送到ccnet tasks
部分中的Nant目标并在那里进行解析。我假设你以后再用'expr'做更多工作。