Как вывести свойства проекта в журналы сборки XML, чтобы их можно было использовать в файлах XSL? - PullRequest
0 голосов
/ 25 августа 2011

Мы используем cruisecontrol для наших ежедневных автоматических тестов.Мы используем фреймворк JUnit.Для каждого случая у нас есть выходной файл, отличный от файла журнала случая junit.Мы добавляем выходные файлы в каталог артефактов проекта после завершения сборки.Мы используем встроенный XSL-файл «unittests.xsl» для публикации результатов электронной почты.Недавно я хочу изменить файл xsl «unittests.xsl», чтобы добавить гиперссылку на выходной файл для каждого случая.Вот что я попробовал в самом начале:

<td class="unittests-data" width="300">
    <a href="{concat('artifacts/',$projectname,'/',$cctimestamp,'/autotest_logs/',..//..//@name,'_',..//@name,'.log')}"><xsl:value-of select="..//@name"/></a>
</td>

Проблема здесь в том, что URL выходного файла может работать при открытии страницы результатов с помощью веб-браузера;но URL-адрес неправильный в результате почты.В почте URL-адрес выглядит так: http://localhost:18080/cruisecontrol/buildresults/artifacts/...

Но я хочу:

http://localhost:18080/cruisecontrol/artifacts/...

Так что я думаю о другом способе решения этой проблемы,Моя мысль заключалась в том, чтобы вывести свойство корневого URL в журналы проекта, чтобы XSL-файл мог получить его значение следующим образом:

<xsl:variable name="urlroot" select="/cruisecontrol/info/property[@name='urlroot']/@value"/>
<td class="unittests-data" width="300">
    <a href="{concat($urlroot,'artifacts/',$projectname,'/',$cctimestamp,'/autotest_logs/',..//..//@name,'_',..//@name,'.log')}"><xsl:value-of select="..//@name"/></a>
</td>

Проблема здесь заключается в свойствах проекта (определенных в config.xml) не передаются в журналы проекта.Так что я не могу сделать это таким образом.

Есть ли другой способ добиться этого?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 октября 2011
  1. Создайте xml-файл для хранения свойств, необходимых для этапа публикации CC
  2. Заполните XML-файл со свойствами во время сборки
  3. Скопируйте файл в каталог слияния CC в конце сборки
  4. Целевые значения свойств в преобразователе xsl

Если вы выводите свойства в журнал CC во время сборки, то они оказываются в непредсказуемом месте в журнале CC. Надежным способом является создание XML-файла специально для того, что вам нужно, и слияние его в конце журнала. Теперь вы можете надежно нацеливать значения в xsl.

0 голосов
/ 24 сентября 2011

Вы можете просто передать свойства какому-нибудь antbuilde и повторить их.Затем, когда вы объединяете свои файлы журнала, значения свойств будут в нем.

...