/*
 * Licensed to Elasticsearch under one or more contributor
 * license agreements. See the NOTICE file distributed with
 * this work for additional information regarding copyright
 * ownership. Elasticsearch licenses this file to you 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 plugin: 'elasticsearch.build'
apply plugin: 'elasticsearch.publish'

dependencies {
  api project(':libs:elasticsearch-core')

  api "org.yaml:snakeyaml:${versions.snakeyaml}"
  api "com.fasterxml.jackson.core:jackson-core:${versions.jackson}"
  api "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${versions.jackson}"
  api "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versions.jackson}"
  api "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${versions.jackson}"

  testImplementation "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}"
  testImplementation "junit:junit:${versions.junit}"
  testImplementation "org.hamcrest:hamcrest:${versions.hamcrest}"

  testImplementation(project(":test:framework")) {
    exclude group: 'org.elasticsearch', module: 'elasticsearch-x-content'
  }

}

tasks.named('forbiddenApisMain').configure {
  // x-content does not depend on server
  // TODO: Need to decide how we want to handle for forbidden signatures with the changes to core
  replaceSignatureFiles 'jdk-signatures'
}

thirdPartyAudit.ignoreMissingClasses(
  // from com.fasterxml.jackson.dataformat.yaml.YAMLMapper (jackson-dataformat-yaml)
  'com.fasterxml.jackson.databind.ObjectMapper',
  'com.fasterxml.jackson.databind.cfg.MapperBuilder'
)

tasks.named("dependencyLicenses").configure {
  mapping from: /jackson-.*/, to: 'jackson'
}

jarHell.enabled = false