95 lines
4.7 KiB
Groovy
95 lines
4.7 KiB
Groovy
def groovyVer = "2.5.8"
|
|
def spockGroovyVer = groovyVer.replaceAll(/\.\d+$/, '')
|
|
|
|
ext {
|
|
versions = [
|
|
opentracing: '0.32.0',
|
|
|
|
slf4j : "1.7.29",
|
|
guava : "20.0", // Last version to support Java 7
|
|
okhttp : "3.12.8", // 3.12.x is last version to support Java7)
|
|
|
|
spock : "1.3-groovy-$spockGroovyVer",
|
|
groovy : groovyVer,
|
|
junit5 : "5.5.2",
|
|
logback : "1.2.3",
|
|
lombok : "1.18.10",
|
|
bytebuddy : "1.10.6",
|
|
scala : "2.11.12", // Last version to support Java 7 (2.12+ require Java 8+)
|
|
kotlin : "1.3.61",
|
|
coroutines : "1.3.0"
|
|
]
|
|
|
|
deps = [
|
|
// OpenTracing
|
|
opentracingApi : dependencies.create(group: 'io.opentracing', name: 'opentracing-api', version: versions.opentracing),
|
|
opentracing : [
|
|
dependencies.create(group: 'io.opentracing', name: 'opentracing-api', version: versions.opentracing),
|
|
dependencies.create(group: 'io.opentracing', name: 'opentracing-noop', version: versions.opentracing),
|
|
dependencies.create(group: 'io.opentracing', name: 'opentracing-util', version: versions.opentracing),
|
|
],
|
|
opentracingMock: dependencies.create(group: 'io.opentracing', name: 'opentracing-mock', version: versions.opentracing),
|
|
|
|
// General
|
|
slf4j : "org.slf4j:slf4j-api:${versions.slf4j}",
|
|
guava : "com.google.guava:guava:$versions.guava",
|
|
okhttp : dependencies.create(group: 'com.squareup.okhttp3', name: 'okhttp', version: versions.okhttp),
|
|
bytebuddy : dependencies.create(group: 'net.bytebuddy', name: 'byte-buddy', version: versions.bytebuddy),
|
|
bytebuddyagent : dependencies.create(group: 'net.bytebuddy', name: 'byte-buddy-agent', version: versions.bytebuddy),
|
|
autoservice : [
|
|
dependencies.create(group: 'com.google.auto.service', name: 'auto-service', version: '1.0-rc3'),
|
|
dependencies.create(group: 'com.google.auto', name: 'auto-common', version: '0.8'),
|
|
// These are the last versions that support guava 20.0. Upgrading has odd interactions with shadow.
|
|
dependencies.create(group: 'com.google.guava', name: 'guava', version: "${versions.guava}"),
|
|
],
|
|
|
|
// Testing
|
|
|
|
spock : [
|
|
dependencies.create("org.spockframework:spock-core:${versions.spock}", {
|
|
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
|
|
}),
|
|
// Used by Spock for mocking:
|
|
dependencies.create(group: 'org.objenesis', name: 'objenesis', version: '2.6') // Last version to support Java7
|
|
],
|
|
groovy : "org.codehaus.groovy:groovy-all:${versions.groovy}",
|
|
junit5 : "org.junit.jupiter:junit-jupiter:${versions.junit5}",
|
|
testcontainers : "org.testcontainers:testcontainers:1.12.2",
|
|
testLogging : [
|
|
dependencies.create(group: 'ch.qos.logback', name: 'logback-classic', version: versions.logback),
|
|
dependencies.create(group: 'org.slf4j', name: 'log4j-over-slf4j', version: versions.slf4j),
|
|
dependencies.create(group: 'org.slf4j', name: 'jcl-over-slf4j', version: versions.slf4j),
|
|
dependencies.create(group: 'org.slf4j', name: 'jul-to-slf4j', version: versions.slf4j),
|
|
],
|
|
scala : dependencies.create(group: 'org.scala-lang', name: 'scala-library', version: "${versions.scala}"),
|
|
kotlin : dependencies.create(group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: "${versions.kotlin}"),
|
|
coroutines : dependencies.create(group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: "${versions.coroutines}"),
|
|
|
|
// Shared between agent tooling and instrumentation and JMXFetch
|
|
shared : [
|
|
dependencies.create(group: 'com.datadoghq', name: 'java-dogstatsd-client', version: '2.8'),
|
|
// "Explicit override jnr version because .22 caused issues" - mar-kolya
|
|
dependencies.create(group: 'com.github.jnr', name: 'jnr-unixsocket', version: '0.23'),
|
|
dependencies.create(group: 'com.google.guava', name: 'guava', version: "${versions.guava}")
|
|
],
|
|
|
|
// Inverse of "shared". These exclude directives are part of shadowJar's DSL
|
|
// which is similar but not exactly the same as the regular gradle dependency{} block
|
|
// Also, transitive dependencies have to be explicitly listed
|
|
sharedInverse : (Closure) {
|
|
// dogstatsd and its transitives
|
|
exclude(dependency('com.datadoghq:java-dogstatsd-client'))
|
|
exclude(dependency('com.github.jnr::'))
|
|
exclude(dependency('org.ow2.asm::'))
|
|
|
|
// Guava and its transitives
|
|
exclude(dependency('com.google.guava::'))
|
|
exclude(dependency('com.google.code.findbugs::'))
|
|
exclude(dependency('com.google.errorprone::'))
|
|
exclude(dependency('com.google.j2objc::'))
|
|
exclude(dependency('org.codehaus.mojo::'))
|
|
exclude(dependency('org.checkerframework::'))
|
|
}
|
|
]
|
|
}
|