Gradle: не выполнять задачу quarkusBuild при запуске задачи sonarlint

#gradle #quarkus #sonarlint

#gradle #quarkus #sonarlint

Вопрос:

У меня есть плагин «io.quarkus» и «name.remal.sonarlint» в моем build.gradle. Когда я выполняю задачу «sonarlintMain», задача quarkusBuild выполняется автоматически (я думаю, потому, что задача сборки зависит от sonarlint). Можно ли исключить quarkusBuild (через командную строку или в определении sonarlint { … } задача)? Я попытался исключить задачу через командную строку с помощью «-x quarkusBuild», но это не сработало.

Заранее спасибо!

Фрэнк

Ответ №1:

Конечно, через несколько минут я нашел решение:

     sonarlint {

    if (gradle.startParameter.getTaskNames().toString().contains("sonarlintMain")) {
        project.gradle.startParameter.excludedTaskNames.add('quarkusBuild')
        project.gradle.startParameter.excludedTaskNames.add('quarkusGenerateCode')
        project.gradle.startParameter.excludedTaskNames.add('quarkusGenerateCodeTests')
    }
 

Комментарии:

1. Это будет работать, только если sonarlintMain вызывается непосредственно из командной строки. Если выполняется задача, зависящая от sonarlintMain , quarkusBuild она все равно будет выполняться.

2. Спасибо. Это правда, но для меня это не имело значения.