def groovyVer = "2.5.11" def spockGroovyVer = groovyVer.replaceAll(/\.\d+$/, '') // this is only needed for the working against unreleased otel-java snapshots configurations.all { resolutionStrategy.cacheChangingModulesFor 12, 'hours' } ext { versions = [ // Check https://oss.jfrog.org/libs-snapshot/io/opentelemetry/ for latest snapshot version. opentelemetry: '0.7.0-20200723.154929-27', // Snapshot versions can often get split into two suffixes opentelemetryOther: '0.7.0-20200723.154929-26', slf4j : "1.7.30", guava : "20.0", // Last version to support Java 7 spock : "1.3-groovy-$spockGroovyVer", groovy : groovyVer, logback : "1.2.3", bytebuddy : "1.10.10", scala : "2.11.12", // Last version to support Java 7 (2.12+ require Java 8+) kotlin : "1.3.72", coroutines : "1.3.0" ] deps = [ // OpenTelemetry opentelemetryApi : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-api', version: versions.opentelemetry), opentelemetryApiAutoAnnotations: dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-extension-auto-annotations', version: versions.opentelemetryOther), opentelemetryTraceProps : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-extension-trace-propagators', version: versions.opentelemetryOther), opentelemetrySdk : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk', version: versions.opentelemetry), opentelemetrySdkAutoConfig : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk-extension-auto-config', version: versions.opentelemetryOther), opentelemetryJaeger : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-jaeger', version: versions.opentelemetry), opentelemetryOtlp : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-otlp', version: versions.opentelemetryOther), opentelemetryZipkin : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporters-zipkin', version: versions.opentelemetryOther), // General slf4j : "org.slf4j:slf4j-api:${versions.slf4j}", guava : "com.google.guava:guava:$versions.guava", 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}", 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}"), ] }