nebula-plugins / gradle-lint-plugin

A pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts.
Apache License 2.0
769 stars 88 forks source link

Infinite loop when using `dev.jacomet.logging-capabilities` version `0.10.0` #365

Open boris-petrov opened 2 years ago

boris-petrov commented 2 years ago

settings.gradle:

include 'bar'

build.gradle:

plugins {
        id 'nebula.lint' version '17.5.0'
        id 'dev.jacomet.logging-capabilities' version '0.10.0' apply false
}

repositories {
        mavenCentral()
}

allprojects {
        apply plugin: 'nebula.lint'

        repositories {
                mavenCentral()
        }

        gradleLint {
                criticalRules = [
                        'all-dependency', 'archaic-wrapper', 'all-nebula-renames', 'unused-exclude-by-conf', 'unused-exclude-by-dep',
                        'overridden-dependency-version', 'dependency-parentheses', 'dependency-tuple', 'deprecated-dependency-configuration',
                        'duplicate-dependency-class', 'deprecated-task-operator', 'multiproject-circular-dependency']
                excludedRules = ['recommended-versions', 'unused-dependency', 'undeclared-dependency']
        }
}

configure(project(':bar')) {
        apply plugin: 'java'
        apply plugin: 'dev.jacomet.logging-capabilities'

        dependencies {
                runtimeOnly 'org.apache.logging.log4j:log4j-web:2.17.0'
        }
}

bar/build.gradle:

configurations.all*.exclude group: 'javax.servlet', module: 'javax.servlet-api'

Running gradle autoLintGradle on that never finishes. Downgrading dev.jacomet.logging-capabilities to 0.9.0 fixes the problem. As well as removing the log4j-web dependency.