diff --git a/pgpainless-cli/build.gradle b/pgpainless-cli/build.gradle index 90d1837f..28c142d8 100644 --- a/pgpainless-cli/build.gradle +++ b/pgpainless-cli/build.gradle @@ -37,9 +37,13 @@ dependencies { // implementation "ch.qos.logback:logback-core:1.2.6" // We want logback logging in tests and in the app testImplementation "ch.qos.logback:logback-classic:$logbackVersion" - implementation "ch.qos.logback:logback-classic:$logbackVersion" implementation(project(":pgpainless-sop")) + runtimeOnly(project(":pgpainless-sop")) { + capabilities { + requireCapability("org.pgpainless:pgpainless-sop-logback-support") + } + } implementation(project(":sop-java")) implementation(project(":sop-java-picocli")) @@ -56,6 +60,8 @@ jar { attributes 'Main-Class': "$mainClassName" } + duplicatesStrategy = DuplicatesStrategy.INCLUDE + from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } { diff --git a/pgpainless-core/build.gradle b/pgpainless-core/build.gradle index c649e71c..9814d52b 100644 --- a/pgpainless-core/build.gradle +++ b/pgpainless-core/build.gradle @@ -6,6 +6,12 @@ plugins { id 'java-library' } +java { + registerFeature('logbackSupport') { + usingSourceSet(sourceSets.main) + } +} + dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" @@ -14,7 +20,7 @@ dependencies { // Logging api "org.slf4j:slf4j-api:$slf4jVersion" testImplementation "ch.qos.logback:logback-classic:$logbackVersion" - runtime "ch.qos.logback:logback-classic:$logbackVersion" + logbackSupportApi("ch.qos.logback:logback-classic:$logbackVersion") api "org.bouncycastle:bcprov-jdk15on:$bouncyCastleVersion" api "org.bouncycastle:bcpg-jdk15on:$bouncyCastleVersion" diff --git a/pgpainless-sop/build.gradle b/pgpainless-sop/build.gradle index 6f30b5db..9b450380 100644 --- a/pgpainless-sop/build.gradle +++ b/pgpainless-sop/build.gradle @@ -12,13 +12,19 @@ repositories { mavenCentral() } +java { + registerFeature('logbackSupport') { + usingSourceSet(sourceSets.main) + } +} + dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" // Logging testImplementation "ch.qos.logback:logback-classic:$logbackVersion" - runtime "ch.qos.logback:logback-classic:$logbackVersion" + logbackSupportApi("ch.qos.logback:logback-classic:$logbackVersion") implementation(project(":pgpainless-core")) implementation(project(":sop-java"))