build.gradle.kts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
  2. plugins {
  3. id("com.github.johnrengelman.shadow")
  4. id("otel.java-conventions")
  5. id("otel.publish-conventions")
  6. }
  7. group = "io.opentelemetry.instrumentation"
  8. val shadowInclude by configurations.creating {
  9. isCanBeResolved = true
  10. isCanBeConsumed = false
  11. }
  12. dependencies {
  13. compileOnly("com.github.ben-manes.caffeine:caffeine")
  14. shadowInclude("com.github.ben-manes.caffeine:caffeine") {
  15. exclude("com.google.errorprone", "error_prone_annotations")
  16. exclude("org.checkerframework", "checker-qual")
  17. }
  18. compileOnly("com.blogspot.mydailyjava:weak-lock-free")
  19. shadowInclude("com.blogspot.mydailyjava:weak-lock-free")
  20. }
  21. tasks {
  22. named<ShadowJar>("shadowJar") {
  23. configurations = listOf(shadowInclude)
  24. archiveClassifier.set("")
  25. relocate("com.github.benmanes.caffeine", "io.opentelemetry.instrumentation.api.internal.shaded.caffeine")
  26. relocate("com.blogspot.mydailyjava.weaklockfree", "io.opentelemetry.instrumentation.api.internal.shaded.weaklockfree")
  27. minimize()
  28. }
  29. named("jar") {
  30. enabled = false
  31. dependsOn(shadowJar)
  32. }
  33. }
  34. // Because shadow does not use default configurations
  35. publishing {
  36. publications {
  37. named<MavenPublication>("maven") {
  38. project.shadow.component(this)
  39. }
  40. }
  41. }