build.gradle.kts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. plugins {
  2. id("otel.javaagent-instrumentation")
  3. }
  4. muzzle {
  5. pass {
  6. group.set("io.netty")
  7. module.set("netty-codec-http")
  8. versions.set("[4.1.0.Final,5.0.0)")
  9. assertInverse.set(true)
  10. }
  11. pass {
  12. group.set("io.netty")
  13. module.set("netty-all")
  14. versions.set("[4.1.0.Final,5.0.0)")
  15. excludeDependency("io.netty:netty-tcnative")
  16. assertInverse.set(true)
  17. }
  18. fail {
  19. group.set("io.netty")
  20. module.set("netty")
  21. versions.set("[,]")
  22. }
  23. }
  24. dependencies {
  25. library("io.netty:netty-codec-http:4.1.0.Final")
  26. implementation(project(":instrumentation:netty:netty-4.1:library"))
  27. implementation(project(":instrumentation:netty:netty-4-common:javaagent"))
  28. implementation(project(":instrumentation:netty:netty-4-common:library"))
  29. implementation(project(":instrumentation:netty:netty-common:library"))
  30. testImplementation(project(":instrumentation:netty:netty-4.1:testing"))
  31. testInstrumentation(project(":instrumentation:netty:netty-3.8:javaagent"))
  32. testInstrumentation(project(":instrumentation:netty:netty-4.0:javaagent"))
  33. // Contains logging handler
  34. testLibrary("io.netty:netty-handler:4.1.0.Final")
  35. testLibrary("io.netty:netty-transport-native-epoll:4.1.0.Final:linux-x86_64")
  36. // first version with kqueue, add it only as a compile time dependency
  37. testCompileOnly("io.netty:netty-transport-native-kqueue:4.1.11.Final:osx-x86_64")
  38. }
  39. tasks {
  40. val testConnectionSpan by registering(Test::class) {
  41. filter {
  42. includeTestsMatching("Netty41ConnectionSpanTest")
  43. includeTestsMatching("Netty41ClientSslTest")
  44. }
  45. include("**/Netty41ConnectionSpanTest.*", "**/Netty41ClientSslTest.*")
  46. jvmArgs("-Dotel.instrumentation.netty.connection-telemetry.enabled=true")
  47. jvmArgs("-Dotel.instrumentation.netty.ssl-telemetry.enabled=true")
  48. }
  49. val testStableSemconv by registering(Test::class) {
  50. filter {
  51. excludeTestsMatching("Netty41ConnectionSpanTest")
  52. excludeTestsMatching("Netty41ClientSslTest")
  53. }
  54. jvmArgs("-Dotel.semconv-stability.opt-in=http")
  55. }
  56. val testStableSemconvConnectionSpan by registering(Test::class) {
  57. filter {
  58. includeTestsMatching("Netty41ConnectionSpanTest")
  59. includeTestsMatching("Netty41ClientSslTest")
  60. }
  61. include("**/Netty41ConnectionSpanTest.*", "**/Netty41ClientSslTest.*")
  62. jvmArgs("-Dotel.instrumentation.netty.connection-telemetry.enabled=true")
  63. jvmArgs("-Dotel.instrumentation.netty.ssl-telemetry.enabled=true")
  64. jvmArgs("-Dotel.semconv-stability.opt-in=http")
  65. }
  66. test {
  67. systemProperty("testLatestDeps", findProperty("testLatestDeps") as Boolean)
  68. filter {
  69. excludeTestsMatching("Netty41ConnectionSpanTest")
  70. excludeTestsMatching("Netty41ClientSslTest")
  71. }
  72. }
  73. check {
  74. dependsOn(testConnectionSpan)
  75. dependsOn(testStableSemconv)
  76. dependsOn(testStableSemconvConnectionSpan)
  77. }
  78. }
  79. if (!(findProperty("testLatestDeps") as Boolean)) {
  80. // No BOM for 4.1.0 so we can't use enforcedPlatform to override our transitive version
  81. // management, so hook into the resolutionStrategy.
  82. configurations.configureEach {
  83. if (!name.contains("muzzle")) {
  84. resolutionStrategy.eachDependency {
  85. if (requested.group == "io.netty" && requested.name != "netty-bom" &&
  86. !requested.name.startsWith("netty-transport-native") &&
  87. !requested.name.startsWith("netty-transport-classes")) {
  88. useVersion("4.1.0.Final")
  89. }
  90. }
  91. }
  92. }
  93. }