plugins { id 'java-library' id 'maven-publish' alias catalog.plugins.kotlin.jvm } configurations { bundle { canBeResolved = true canBeConsumed = false transitive = true resolutionStrategy { dependencies { exclude group: 'org.slf4j', module: 'slf4j-api' exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib' exclude group: 'org.jetbrains', module: 'annotations' } } } implementation { extendsFrom bundle } release { transitive = false canBeConsumed = true canBeResolved = true } } dependencies { bundle catalog.opentelemetry.netty['4']['1'] bundle catalog.opentelemetry.sdk.extension.autoconfigure bundle catalog.opentelemetry.logback.appender['1']['0'] bundle catalog.opentelemetry.extension.trace.propagators bundle catalog.opentelemetry.exporter.otlp } Provider bundleTask = tasks.register("bundle", Tar) { from(configurations.bundle) group = BasePlugin.BUILD_GROUP } tasks.named(BasePlugin.ASSEMBLE_TASK_NAME) { dependsOn(bundleTask) } artifacts { release(bundleTask) } publishing { publications { maven(MavenPublication) { artifact bundleTask } } }