apply plugin: 'elasticsearch.build' apply plugin: 'nebula.maven-base-publish' apply plugin: 'nebula.maven-scm' apply plugin: 'com.github.johnrengelman.shadow' description = 'JDBC driver for Elasticsearch' archivesBaseName = "x-pack-sql-jdbc" forbiddenApisMain { // does not depend on core, so only jdk and http signatures should be checked replaceSignatureFiles 'jdk-signatures' } dependencies { compile (xpackProject('plugin:sql:sql-client')) { transitive = false } compile (xpackProject('plugin:sql:sql-proto')) { transitive = false } compile (project(':libs:x-content')) { transitive = false } compile project(':libs:core') runtime "com.fasterxml.jackson.core:jackson-core:${versions.jackson}" testCompile "org.elasticsearch.test:framework:${version}" testCompile project(path: xpackModule('core'), configuration: 'testArtifacts') } dependencyLicenses { mapping from: /sql-proto.*/, to: 'elasticsearch' mapping from: /sql-client.*/, to: 'elasticsearch' mapping from: /jackson-.*/, to: 'jackson' mapping from: /elasticsearch-core.*/, to: 'elasticsearch' ignoreSha 'sql-proto' ignoreSha 'sql-client' ignoreSha 'elasticsearch' } unitTest { // don't use the shaded jar for tests classpath += project.tasks.compileJava.outputs.files classpath -= project.tasks.shadowJar.outputs.files } shadowJar { relocate 'com.fasterxml', 'org.elasticsearch.fasterxml' // set the shaded configuration back to runtime instead of bundle because // we need tests to use the non-shaded deps to allow editing/testing in intellij configurations = [project.configurations.runtime] } // We need a no-depenencies jar though for qa testing so it doesn't conflict with cli configurations { nodeps } task nodepsJar(type: Jar) { appendix 'nodeps' from sourceSets.main.output } artifacts { nodeps nodepsJar } publishing { publications { nebula { artifactId = archivesBaseName pom.withXml { // Nebula is mistakenly including all dependencies that are already shadowed into the shadow jar asNode().remove(asNode().dependencies) } } } }