Сонар: 0 файлов проиндексированы в одном проекте, правильно отсканированы в другом - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть 2 общих библиотек Jenkins , которые содержат отличные файлы для сканирования. Оба проекта используют один и тот же вызов sonarqube с использованием maven, но в одном проекте сканируются файлы groovy, тогда как в другом они не

Звонок в Сонаркубе

...
    String scanCmd = "mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar " +
            "-f pom.xml " +
            "-Dsonar.branch=%GIT_BRANCH% " +
            "-Dsonar.test.inclusions=**/*Test*/** " +
            "-Dsonar.exclusions=**/*Test*/** " +
            "-Dsonar.skipDesign=true "

    bat scanCmd
...

Мы используем версию 5.6.6, если это имеет значение

Конфигурация сканера сонара

Конфигурация сонара находится в родительском помпе, который содержит свойства сонара

....
   <properties>
        <!-- Sonar -->
        <sonar.sources>src,vars</sonar.sources>
        <sonar.inclusions>**/**</sonar.inclusions>
    </properties>
....

Оба проекта (pom.xml) используют этот родительский pom, то есть одни и те же свойства сонара

Проект 1: 0 проиндексированных файлов

Структура проекта выглядит следующим образом:

D:.
│   .gitignore
│   Jenkinsfile
│   pom.xml
│   README.md
│
├───src
│   └───ch
│       └───swisscard
│           └───jenkins
│               └───pipeline
│                   └───util
│                           PipelineRabbitMQ.groovy
│
└───vars
        ciPipeline.groovy

Итак, есть два файла groovy, которые нужно сканировать, но в лог-файле показаны 0 проиндексированных файлов:

[INFO] Base dir: D:\jenkins\tools\ci-home\workspace\rabbitmq-ci-pipeline_master-2CYM2JXOI6CJM2T4MSNQTNPWY7LRY7PTSC3OG74TSX2Q2WNKXUSQ
[INFO] Working dir: d:\jenkins\tools\ci-home\workspace\rabbitmq-ci-pipeline_master-2CYM2JXOI6CJM2T4MSNQTNPWY7LRY7PTSC3OG74TSX2Q2WNKXUSQ\target\sonar
[INFO] Source paths: src, vars
[INFO] Binary dirs: target/classes
[INFO] Source encoding: UTF-8, default locale: en_US_US
[INFO] Index files
[INFO] Included sources:
[INFO]   **/**
[INFO] Excluded sources:
[INFO]   **/target/**/*
[INFO]   **/*Test*/**
[INFO]   **/*Test*/**
[INFO] Included tests:
[INFO]   **/*Test*/**
[INFO] 0 files indexed
[INFO] 0 files ignored because of inclusion/exclusion patterns

Проект 2: Файлы правильно отсканированы

Вторая структура проекта выглядит следующим образом:

D:.
│   .gitignore
│   Jenkinsfile
│   pom.xml
├───src
│   └───main
│       │   Utils.groovy
└───vars
        checkQualityGate.groovy
        defaultBuildApplication.groovy
        ciPipeline.groovy

И здесь файл журнала показывает, что все файлы были проверены:

[INFO] Load server rules (done) | time=98ms
[INFO] Base dir: D:\jenkins\tools\ci-home\workspace\pipeline_feature_sonar-scan-D6GRAK5PLQOMGCOOH2T6QP6BP4LA6O3LP23UC7VBSSL3RORI4ZXQ
[INFO] Working dir: d:\jenkins\tools\ci-home\workspace\pipeline_feature_sonar-scan-D6GRAK5PLQOMGCOOH2T6QP6BP4LA6O3LP23UC7VBSSL3RORI4ZXQ\target\sonar
[INFO] Source paths: src, vars
[INFO] Source encoding: UTF-8, default locale: en_US_US
[INFO] Index files
[INFO] Included sources:
[INFO]   **/**
[INFO] Excluded sources:
[INFO]   **/target/**/*
[INFO]   **/*Test*/**
[INFO]   **/*Test*/**
[INFO] Included tests:
[INFO]   **/*Test*/**
[INFO] 5 files indexed
[INFO] 0 files ignored because of inclusion/exclusion patterns

Проблема / Вопрос

Таким образом, очевидно, что оба проекта имеют одинаковую конфигурацию и схожую структуру, однако один сканируется, а другой нет. На данный момент я не понимаю, почему? Я проверил другие темы, которые мне не помогли

  • У меня нет явно установленной sonar.basedir, но согласно журналу базовый каталог в порядке
...