group = 'io.opentelemetry.javaagent' apply plugin: "otel.java-conventions" apply plugin: "otel.publish-conventions" // patch inner class from Caffeine to avoid ForkJoinTask from being loaded too early sourceSets { patch { java {} } } jar { from(sourceSets.patch.output) { include 'io/opentelemetry/instrumentation/api/internal/shaded/caffeine/cache/BoundedLocalCache$PerformCleanupTask.class' } } configurations { // classpath used by the instrumentation muzzle plugin instrumentationMuzzle { canBeConsumed = true canBeResolved = false extendsFrom implementation } } dependencies { api "io.opentelemetry:opentelemetry-api" api "io.opentelemetry:opentelemetry-api-metrics" compileOnly "io.opentelemetry:opentelemetry-sdk" implementation "org.slf4j:slf4j-api" implementation "org.slf4j:slf4j-simple" // ^ Generally a bad idea for libraries, but we're shadowing. implementation project(':javaagent-api') implementation project(':instrumentation-api') testImplementation project(':testing-common') testImplementation "org.mockito:mockito-core" testImplementation "org.assertj:assertj-core" }