103 lines
3.0 KiB
Plaintext
103 lines
3.0 KiB
Plaintext
plugins {
|
|
id("otel.javaagent-instrumentation")
|
|
id("otel.scala-conventions")
|
|
}
|
|
|
|
muzzle {
|
|
// There are some weird library issues below 2.9 so can't assert inverse
|
|
pass {
|
|
group.set("com.twitter")
|
|
module.set("finatra-http_2.11")
|
|
versions.set("[2.9.0,]")
|
|
excludeDependency("io.netty:netty-transport-native-epoll")
|
|
}
|
|
|
|
pass {
|
|
group.set("com.twitter")
|
|
module.set("finatra-http_2.12")
|
|
versions.set("[2.9.0,]")
|
|
excludeDependency("io.netty:netty-transport-native-epoll")
|
|
}
|
|
}
|
|
|
|
// Test suites don't allow excluding transitive dependencies. We use this configuration to declare
|
|
// dependency to latest finatra and exclude netty-transport-native-epoll.
|
|
val finatraLatest by configurations.creating {
|
|
isCanBeConsumed = false
|
|
isCanBeResolved = false
|
|
}
|
|
|
|
dependencies {
|
|
// TODO(anuraaga): Something about library configuration doesn't work well with scala compilation
|
|
// here.
|
|
compileOnly("com.twitter:finatra-http_2.11:2.9.0")
|
|
|
|
testInstrumentation(project(":instrumentation:netty:netty-4.1:javaagent"))
|
|
|
|
testImplementation(enforcedPlatform("com.fasterxml.jackson:jackson-bom:2.9.10"))
|
|
testImplementation("com.twitter:finatra-http_2.11:19.12.0") {
|
|
// Finatra POM references linux-aarch64 version of this which we don't need. Including it
|
|
// prevents us from managing Netty version because the classifier name changed to linux-aarch_64
|
|
// in recent releases. So we exclude and force the linux-x86_64 classifier instead.
|
|
exclude("io.netty", "netty-transport-native-epoll")
|
|
}
|
|
testImplementation("io.netty:netty-transport-native-epoll:4.1.51.Final:linux-x86_64")
|
|
// Required for older versions of finatra on JDKs >= 11
|
|
testImplementation("com.sun.activation:javax.activation:1.2.0")
|
|
|
|
finatraLatest("com.twitter:finatra-http_2.13:+") {
|
|
exclude("io.netty", "netty-transport-native-epoll")
|
|
}
|
|
}
|
|
|
|
testing {
|
|
suites {
|
|
val latestDepTest by registering(JvmTestSuite::class) {
|
|
dependencies {
|
|
// finatra is included via finatraLatest configuation
|
|
implementation("io.netty:netty-transport-native-epoll:4.1.51.Final:linux-x86_64")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
named("latestDepTestImplementation") {
|
|
extendsFrom(configurations["finatraLatest"])
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
if (findProperty("testLatestDeps") as Boolean) {
|
|
// Separate task
|
|
named("test") {
|
|
enabled = false
|
|
}
|
|
named("compileTestScala") {
|
|
enabled = false
|
|
}
|
|
|
|
check {
|
|
dependsOn(testing.suites)
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.withType<Test>().configureEach {
|
|
// required on jdk17
|
|
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
|
|
jvmArgs("-XX:+IgnoreUnrecognizedVMOptions")
|
|
}
|
|
|
|
// com.fasterxml.jackson.module:jackson-module-scala_2.11:2.15.2 is missing force using jackson 2.15.1
|
|
// remove this when a new version of jackson is released
|
|
configurations.configureEach {
|
|
resolutionStrategy {
|
|
eachDependency {
|
|
if (requested.group == "com.fasterxml.jackson" && requested.name == "jackson-bom" && requested.version == "2.15.2") {
|
|
useVersion("2.15.1")
|
|
}
|
|
}
|
|
}
|
|
}
|