apply plugin: 'elasticsearch.build' apply plugin: 'elasticsearch.publish' apply plugin: 'com.github.johnrengelman.shadow' description = 'JDBC driver for Elasticsearch' archivesBaseName = "x-pack-sql-jdbc" tasks.named('forbiddenApisMain').configure { // does not depend on core, so only jdk and http signatures should be checked replaceSignatureFiles 'jdk-signatures' } dependencies { api(xpackProject('plugin:sql:sql-client')) { transitive = false } api(xpackProject('plugin:sql:sql-proto')) { transitive = false } api(project(':libs:elasticsearch-x-content')) { transitive = false } api(project(':libs:elasticsearch-geo')) { transitive = false } api project(':libs:elasticsearch-core') api "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${versions.jackson}" runtimeOnly "com.fasterxml.jackson.core:jackson-core:${versions.jackson}" testImplementation project(":test:framework") testImplementation project(path: xpackModule('core'), configuration: 'testArtifacts') } tasks.named("dependencyLicenses").configure { mapping from: /jackson-.*/, to: 'jackson' } shadowJar { relocate 'com.fasterxml', 'shadow.fasterxml' relocate('org.elasticsearch', 'shadow.org.elasticsearch') { // Don't relocate the JDBC driver classes themselves as that's (mostly) public API exclude 'org.elasticsearch.xpack.sql.jdbc.*' } } thirdPartyAudit.ignoreMissingClasses( 'com.fasterxml.jackson.databind.ObjectMapper', 'com.fasterxml.jackson.databind.cfg.MapperBuilder' ) tasks.named("test").configure { // reset the unit test classpath as using the shadow jar won't work due to relocated packages classpath = sourceSets.test.runtimeClasspath }