/*
 * Copyright The OpenTelemetry Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
apply from: "$rootDir/gradle/instrumentation-library.gradle"

dependencies {
  compileOnly deps.opentelemetrySdk
  compileOnly deps.opentelemetrySdkAutoconfigure

  library group: 'com.amazonaws', name: 'aws-lambda-java-core', version: '1.0.0'
  // First version to includes support for SQSEvent, currently the most popular message queue used
  // with lambda.
  // NB: 2.2.0 includes a class called SQSEvent but isn't usable due to it returning private classes
  // in public API.
  library group: 'com.amazonaws', name: 'aws-lambda-java-events', version: '2.2.1'

  compileOnly(
    'com.fasterxml.jackson.core:jackson-databind:2.10.5.1',
    'commons-io:commons-io:2.2')
  compileOnly deps.slf4j

  implementation deps.opentelemetryExtAws

  // 1.2.0 allows to get the function ARN
  testLibrary group: 'com.amazonaws', name: 'aws-lambda-java-core', version: '1.2.0'

  testImplementation(
    'com.fasterxml.jackson.core:jackson-databind:2.10.5.1',
    'commons-io:commons-io:2.2')

  testImplementation deps.opentelemetrySdkAutoconfigure
  testImplementation deps.opentelemetryTraceProps
  testImplementation deps.guava

  testImplementation project(':instrumentation:aws-lambda-1.0:testing')
  testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.6.0'
  testImplementation deps.assertj
}
