Skip to content

Commit

Permalink
Bundle slf4j-nop in detekt-formatting JAR (#5153)
Browse files Browse the repository at this point in the history
* Bundle slf4j-nop in detekt-formatting JAR

Fixes #4811

* Address SLF4J warning when running tests

Hides this warning:
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
  • Loading branch information
3flex committed Aug 1, 2022
1 parent 736524f commit e4bb31b
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions detekt-formatting/build.gradle.kts
Expand Up @@ -2,6 +2,8 @@ plugins {
id("module")
}

val extraDepsToPackage: Configuration by configurations.creating

dependencies {
compileOnly(projects.detektApi)
implementation(libs.ktlint.rulesetStandard) {
Expand All @@ -13,10 +15,12 @@ dependencies {
implementation(libs.ktlint.rulesetExperimental) {
exclude(group = "org.jetbrains.kotlin")
}
runtimeOnly(libs.slf4j.nop)

testImplementation(projects.detektTest)
testImplementation(libs.assertj)

testRuntimeOnly(libs.slf4j.nop)
extraDepsToPackage(libs.slf4j.nop)
}

tasks.build { finalizedBy(":detekt-generator:generateDocumentation") }
Expand All @@ -25,15 +29,15 @@ val depsToPackage = setOf(
"org.ec4j.core",
"com.pinterest.ktlint",
"io.github.microutils",
"org.slf4j",
)

tasks.jar {
duplicatesStrategy = DuplicatesStrategy.INCLUDE // allow duplicates
dependsOn(configurations.runtimeClasspath)
from({
dependsOn(configurations.runtimeClasspath, extraDepsToPackage)
from(
configurations.runtimeClasspath.get()
.filter { dependency -> depsToPackage.any { it in dependency.toString() } }
.map { if (it.isDirectory) it else zipTree(it) }
})
.map { if (it.isDirectory) it else zipTree(it) },
extraDepsToPackage.map { zipTree(it) },
)
}

0 comments on commit e4bb31b

Please sign in to comment.