Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要在自定义ant任务中设置CruiseControl修改_Ant_Cruisecontrol - Fatal编程技术网

需要在自定义ant任务中设置CruiseControl修改

需要在自定义ant任务中设置CruiseControl修改,ant,cruisecontrol,Ant,Cruisecontrol,有没有办法将CruiseControl修改集传递给自定义ant任务 我的设置:我有一个CruiseControl——最初的一个,而不是CC.NET或类似的实例,它监视等待测试的二进制软件包的SVN存储库。每当出现新的二进制软件包时,应将该软件包发送到另一个测试主机进行测试。这通常通过自定义ant任务工作,但有一个抓取 问题是二进制软件包是为多种体系结构构建的。我的定制ant任务应该选择与二进制软件包的体系结构匹配的测试主机,它为此维护一个测试主机的内部列表。目前,每当出现任何体系结构的新包时,都

有没有办法将CruiseControl修改集传递给自定义ant任务

我的设置:我有一个CruiseControl——最初的一个,而不是CC.NET或类似的实例,它监视等待测试的二进制软件包的SVN存储库。每当出现新的二进制软件包时,应将该软件包发送到另一个测试主机进行测试。这通常通过自定义ant任务工作,但有一个抓取

问题是二进制软件包是为多种体系结构构建的。我的定制ant任务应该选择与二进制软件包的体系结构匹配的测试主机,它为此维护一个测试主机的内部列表。目前,每当出现任何体系结构的新包时,都会通知所有测试主机运行它们的测试

因此,我认为理想的CruiseControl项目逻辑是:

CruiseControl通过监视SVN目录的更改,还监视本地文件,该文件应触发所有测试主机 在任何修改中,CruiseControl都会调用ANT脚本,而CruiseControl又会调用自定义ANT任务 这个定制的ANT任务需要知道哪些文件被修改以触发CruiseControl运行,这样它就可以根据修改后的文件的名称选择正确的测试主机,这些文件的名称中包含了架构 我的问题是:如何将修改集传递给ANT任务


我偶然发现的一个解决方案想法是ModificationWriter插件,但该插件显然只适用于CruiseControl.NET:-

目前还没有现成的解决方案,但通过以下步骤解决问题并不困难:

对于每个项目,都有一个.xml格式的特定日志文件。该文件的名称如下:log20110913113343.xml。ant任务始终知道日志。现在,您需要做的是从该文件中提取所需的信息,例如:

 <modification type="clearcase">
  <file action="checkin">
    <revision>\main\axpro_LATESTfo\4</revision>
    <filename>expected</filename>
    <project>calibration\algorithms\test.u\DetectMarkersMetaTest</project>
  </file>
  <date>2011-09-12T14:22:28</date>
  <user>z002tv9v</user>
  <comment><![CDATA[Added file element "testcase_1.01.txt".
              Added file element "testcase_1.02.txt".
              Added file element "testcase_1.03.txt".
              Added file element "testcase_1.04.txt".
              Added file element "testcase_1.05.txt".
              Added file element "testcase_1.06.txt".]]></comment>
  <revision>\main\axpro_LATESTfo\4</revision>
</modification>
在那里,您可以找到当前修改集修改的所有文件。一旦您这样做了,您就可以将它们传递到您的自定义任务中,并从那里开始。我会使用xsl从文件中提取我想要的数据,但当然,您可以使用任何您想要的技术:


希望有帮助

目前还没有现成的解决方案,但通过以下步骤解决问题并不困难:

对于每个项目,都有一个.xml格式的特定日志文件。该文件的名称如下:log20110913113343.xml。ant任务始终知道日志。现在,您需要做的是从该文件中提取所需的信息,例如:

 <modification type="clearcase">
  <file action="checkin">
    <revision>\main\axpro_LATESTfo\4</revision>
    <filename>expected</filename>
    <project>calibration\algorithms\test.u\DetectMarkersMetaTest</project>
  </file>
  <date>2011-09-12T14:22:28</date>
  <user>z002tv9v</user>
  <comment><![CDATA[Added file element "testcase_1.01.txt".
              Added file element "testcase_1.02.txt".
              Added file element "testcase_1.03.txt".
              Added file element "testcase_1.04.txt".
              Added file element "testcase_1.05.txt".
              Added file element "testcase_1.06.txt".]]></comment>
  <revision>\main\axpro_LATESTfo\4</revision>
</modification>
在那里,您可以找到当前修改集修改的所有文件。一旦您这样做了,您就可以将它们传递到您的自定义任务中,并从那里开始。我会使用xsl从文件中提取我想要的数据,但当然,您可以使用任何您想要的技术:


希望有帮助

True,日志文件确实包含所有信息。但是如果你想在你的蚂蚁任务中使用它,那你就太倒霉了。在生成完成之前,此文件不会写入磁盘。遗憾的是,您无法在需要时查看修改集。

True,日志文件确实包含所有信息。但是如果你想在你的蚂蚁任务中使用它,那你就太倒霉了。在生成完成之前,此文件不会写入磁盘。唉,当您想要查看修改集时,您无法看到它