Как создать и использовать базовую линию детекта с помощью плагина maven? - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь использовать детект в многомодульном проекте Maven, используя Kotlin с detekt-maven-plugin .

Следуя найденным инструкциям здесь , чтобы сгенерировать базовый уровень с существующими проблемами, я попытался запустить:

mvn detekt:cb -Ddetekt.debug=true

Однако, похоже, не создается упомянутый файл baseline.xml.

1 Ответ

0 голосов
/ 17 января 2020

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

mvn detekt:cb -Ddetekt.baseline=baseline.xml

Поскольку в базе кода уже было довольно много проблем, обнаруженных детектом, мне также пришлось использовать пользовательский файл конфигурации детекта и увеличьте количество разрешенных проблем - в противном случае сборка не будет выполнена и базовый уровень не будет создан вообще.

Подводя итог, можно сказать, что следующая конфигурация позволила ему работать:

файл конфигурации Detekt:

build:
  maxIssues: 1000

Конфигурация плагина после генерации базовой линии:

        <plugin>
            <groupId>com.github.ozsie</groupId>
            <artifactId>detekt-maven-plugin</artifactId>
            <version>1.1.1</version>
            <configuration>
                <baseline>detekt-baseline.xml</baseline>
                <config>detekt-config.yml</config>
                <buildUponDefaultConfig>true</buildUponDefaultConfig>
            </configuration>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>check</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

После генерации базовой линии значение maxIssuses в файле конфигурации может быть уменьшено до соответствующего значения.

...