105 lines
4.1 KiB
Groovy
105 lines
4.1 KiB
Groovy
plugins {
|
|
id("otel.javaagent-instrumentation")
|
|
id("org.unbroken-dome.test-sets")
|
|
}
|
|
|
|
// compiling against 1.11.0, but instrumentation should work against 1.10.33 with varying effects,
|
|
// depending on the version's implementation. (i.e. DeleteOptionGroup may have less handlerCounts than
|
|
// expected in 1.11.84. Testing against 1.11.0 instead of 1.10.33 because the RequestHandler class
|
|
// used in testing is abstract in 1.10.33
|
|
// keeping base test version on 1.11.0 because RequestHandler2 is abstract in 1.10.33,
|
|
// therefore keeping base version as 1.11.0 even though the instrumentation probably
|
|
// is able to support up to 1.10.33
|
|
muzzle {
|
|
pass {
|
|
group = "com.amazonaws"
|
|
module = "aws-java-sdk-core"
|
|
versions = "[1.10.33,)"
|
|
assertInverse = true
|
|
}
|
|
}
|
|
|
|
testSets {
|
|
// Features used in test_1_11_106 (builder) is available since 1.11.84, but
|
|
// using 1.11.106 because of previous concerns with byte code differences
|
|
// in 1.11.106, also, the DeleteOptionGroup request generates more spans
|
|
// in 1.11.106 than 1.11.84.
|
|
// We test older version in separate test set to test newer version and latest deps in the 'default'
|
|
// test dir. Otherwise we get strange warnings in Idea.
|
|
test_before_1_11_106 {
|
|
filter {
|
|
// this is needed because "test.dependsOn test_before_1_11_106", and so without this,
|
|
// running a single test in the default test set will fail
|
|
setFailOnNoMatchingTests(false)
|
|
}
|
|
}
|
|
|
|
// We test SQS separately since we have special logic for it and want to make sure the presence of
|
|
// SQS on the classpath doesn't conflict with tests for usage of the core SDK. This only affects
|
|
// the agent.
|
|
testSqs
|
|
}
|
|
|
|
configurations {
|
|
test_before_1_11_106RuntimeClasspath {
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-s3:1.11.0'
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-rds:1.11.0'
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-ec2:1.11.0'
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-kinesis:1.11.0'
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-sqs:1.11.0'
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-sns:1.11.0'
|
|
resolutionStrategy.force 'com.amazonaws:aws-java-sdk-dynamodb:1.11.0'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly "io.opentelemetry:opentelemetry-extension-aws"
|
|
|
|
implementation project(':instrumentation:aws-sdk:aws-sdk-1.11:library')
|
|
|
|
library "com.amazonaws:aws-java-sdk-core:1.11.0"
|
|
|
|
testLibrary "com.amazonaws:aws-java-sdk-s3:1.11.106"
|
|
testLibrary "com.amazonaws:aws-java-sdk-rds:1.11.106"
|
|
testLibrary "com.amazonaws:aws-java-sdk-ec2:1.11.106"
|
|
testLibrary "com.amazonaws:aws-java-sdk-kinesis:1.11.106"
|
|
testLibrary "com.amazonaws:aws-java-sdk-dynamodb:1.11.106"
|
|
testLibrary "com.amazonaws:aws-java-sdk-sns:1.11.106"
|
|
|
|
testImplementation project(':instrumentation:aws-sdk:aws-sdk-1.11:testing')
|
|
|
|
testSqsImplementation "com.amazonaws:aws-java-sdk-sqs:1.11.106"
|
|
|
|
// Include httpclient instrumentation for testing because it is a dependency for aws-sdk.
|
|
testInstrumentation project(':instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent')
|
|
|
|
// needed for kinesis:
|
|
testImplementation "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor"
|
|
|
|
// needed for SNS
|
|
testImplementation "org.testcontainers:localstack:${versions["org.testcontainers"]}"
|
|
|
|
// needed by S3
|
|
testImplementation 'javax.xml.bind:jaxb-api:2.3.1'
|
|
|
|
test_before_1_11_106Implementation("com.amazonaws:aws-java-sdk-s3:1.11.0")
|
|
test_before_1_11_106Implementation("com.amazonaws:aws-java-sdk-rds:1.11.0")
|
|
test_before_1_11_106Implementation("com.amazonaws:aws-java-sdk-ec2:1.11.0")
|
|
test_before_1_11_106Implementation("com.amazonaws:aws-java-sdk-kinesis:1.11.0")
|
|
test_before_1_11_106Implementation("com.amazonaws:aws-java-sdk-dynamodb:1.11.0")
|
|
test_before_1_11_106Implementation("com.amazonaws:aws-java-sdk-sns:1.11.0")
|
|
}
|
|
|
|
test {
|
|
systemProperty "testLatestDeps", testLatestDeps
|
|
}
|
|
|
|
if (!testLatestDeps) {
|
|
check.dependsOn test_before_1_11_106, testSqs
|
|
}
|
|
|
|
tasks.withType(Test).configureEach {
|
|
// TODO run tests both with and without experimental span attributes
|
|
jvmArgs "-Dotel.instrumentation.aws-sdk.experimental-span-attributes=true"
|
|
}
|