Добрый день, сегодня я настроил sonarqube с помощью ms build runner и mercurial scm provider. У меня есть следующая структура репозитория (схема):
<ROOT>
-.hg
-src
----prj.infrastructure
----prj.domain
----prj.application
----prj.sln
и я использовал следующую команду для анализа запуска:
"%env.SonarMsBuildRunner%\MSBuild.SonarQube.Runner" begin /n:prj /k:prj /v:1.0
"%env.MsBuildLocation%\msbuild" src\prj.sln /p:Configuration=Debug
"%env.SonarMsBuildRunner%\msbuild.sonarqube.runner" end
весь анализ работает хорошо, но scm не работает (я вижу сообщение типа «Отсутствует информация об авторстве для следующих файлов:»)
когда я вижу сгенерированный sonar-project.properties, я вижу, что проблема находится в projectBaseDir - он генерируется для каждого проекта в решении отдельно
я пытаюсь указать в командной строке, как /d:sonar.projectBaseDir=... но никаких изменений - он полностью игнорируется
поэтому мой вопрос: могу ли я использовать ms build runner и поставщика scm вместе со структурой моего репозитория?
ОБНОВЛЕНИЕ 1. Я добавил подробный флаг в свой скрипт. Теперь я запускаю анализ с помощью следующей команды:
MSBuild.SonarQube.Runner begin /n:projectName /k:projectKey /v:1.0 /d:sonar.scm.enabled=true /d:sonar.scm.provider=hg /d:sonar.projectBaseDir=d:\work\project1 /d:sonar.verbose=true
msbuild project1\src\solution.sln /p:Configuration=Debug
msbuild.sonarqube.runner end
в журнале я вижу эти сообщения:
[14:18:20] : [Step 4/4] 14:18:20.403 DEBUG: Working directory: D:\work\project1\src\
[14:18:20] : [Step 4/4] 14:18:20.416 DEBUG: Executing: hg blame -w -v --user --date --changeset API/AssignmentsController.cs
[14:18:20] : [Step 4/4] 14:18:20.423 DEBUG: Executing: hg blame -w -v --user --date --changeset API/Commands/ImportCommand.cs
[14:18:20] : [Step 4/4] 14:18:20.424 DEBUG: Executing: hg blame -w -v --user --date --changeset API/Dto/Assignment.cs
[14:18:20] : [Step 4/4] 14:18:20.600 DEBUG: The mercurial blame command [hg blame -w -v --user --date --changeset API/AssignmentsController.cs] failed: abort: no repository found in 'D:\work\project1\src\' (.hg not found)!
[14:18:20] : [Step 4/4]
и это правильно - в папке d:\work\project1\src нет каталога .hg, потому что он находится в d:\work\project1
ОБНОВЛЕНИЕ2
хорошо, наконец, я нахожу свою ошибку... в папке сборки машины .hg пропущен по некоторым причинам...