Сонар не получает информацию о покрытии для моего проекта, если в моем lcov-файле пути являются абсолютными. Для файла:
TN:
SF:/mnt/vg01-data01/jenkins/<jenkins.myhost.com>/jenkins_home/workspace/<job1>/src/app.js
FN:,(anonymous_0)
FN:,(anonymous_1)
FNF:2
FNH:2
FNDA:1,(anonymous_0)
FNDA:2,(anonymous_1)
DA:3,1
DA:4,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:11,1
DA:18,1
DA:19,1
DA:22,2
DA:27,1
LF:11
LH:11
BRF:0
BRH:0
end_of_record
....
Я получаю следующие предупреждения:
...
05:06:27.565 INFO: Analysing [/srv/jenkins/<jenkins.myhost.com>/jenkins_home/workspace/<job1>/coverage/lcov.info]
05:06:27.574 DEBUG: Default value of zero will be saved for file: src/app.js
05:06:27.574 DEBUG: Because was not present in LCOV report.
05:06:27.578 DEBUG: Default value of zero will be saved for file: src/app.spec.js
05:06:27.578 DEBUG: Because was not present in LCOV report.
05:06:27.579 DEBUG: Default value of zero will be saved for file: src/js/form/form.ctrl.js
05:06:27.579 DEBUG: Because was not present in LCOV report.
05:06:27.580 DEBUG: Default value of zero will be saved for file: src/js/form/form.module.js
05:06:27.580 DEBUG: Because was not present in LCOV report.
05:06:27.581 DEBUG: Default value of zero will be saved for file: src/js/success/success.ctrl.js
...
Однако по умолчанию karma (и istambul) генерируют файл с абсолютными путями.
Если я изменю пути, чтобы сделать их относительными, sonarqube правильно сообщит о покрытии. Тем не менее, я должен убедиться, что сценарий «lcov patch» всегда запускается перед отправкой сообщения эхолоту.
Поддерживает ли сонар абсолютные пути? Что делают другие команды для решения этой проблемы? Вот версии, которые я использую:
- [email protected] и [email protected]
- сонар 6.1 и JavaScript плагин 2.14
Обновление: я заменил файл и журнал, которые я вижу, точными из заданий (мне все равно нужно изменить имя хоста и задания по соображениям безопасности).
Обновление, март 2016 г.: я отправил запрос на включение в Стамбул, чтобы разрешить создание файла lcov с относительными путями. Я ожидаю, что это решит эту проблему https://github.com/gotwarlost/istanbul/pull/771