FindBugs перестал работать после обновления Android Gradle Plugin с 3.1.3 до 3.2.0 - PullRequest
0 голосов
/ 02 октября 2018

Я использую FindBugs для статического анализа кода в моих проектах Android.Настройка следующая:

quality.gradle

plugins.apply('findbugs')

task findbugs(type: FindBugs) {
    ignoreFailures = false
    effort = 'max'
    reportLevel = 'high' // Report only high priority problems.

    classes = files("${project.projectDir}/build/intermediates/classes")
    source = fileTree('src/main/java')

    classpath = files()

    reports {
        xml.enabled = true
        html.enabled = false
    }

    excludeFilter = rootProject.file('quality/findbugs.xml')
} 

build.gradle :

subprojects {
    afterEvaluate {
        project.apply from: '../quality/quality.gradle'
        tasks.findByName('findbugs').dependsOn('assemble')
        tasks.findByName('check').dependsOn('findbugs')
    }
}

Нопосле того, как я обновил Gradle Android Plugin с 3.1.3 до 3.2.0, сборка начала давать сбой:

./gradlew clean build

> Task :app:findbugs FAILED
No files to be analyzed

...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:findbugs'.
> Failed to run Gradle FindBugs Worker
   > Process 'Gradle FindBugs Worker 6' finished with non-zero exit value 1

При понижении до 3.1.3 сборка снова проходит.Я не нашел ничего связанного с changelog плагина Gradle для Android.Кто-нибудь может указать мне, что не так с плагином или моей настройкой?

1 Ответ

0 голосов
/ 02 октября 2018

После короткого расследования я обнаружил, что расположение файлов классов Java изменилось с build/intermediates/classes на build/intermediates/javac.Новая конфигурация FindBugs:

task findbugs(type: FindBugs) {
    ...
    classes = files("${project.projectDir}/build/intermediates/javac")
   ...
} 

Странно, что это критическое изменение не упоминается ни в плагине Android Gradle changelog , ни в Gradle changelog .

...