2017-06-19 15:19:54 -04:00
|
|
|
import org.elasticsearch.gradle.Version
|
2017-06-27 17:54:07 -04:00
|
|
|
import org.elasticsearch.gradle.test.RunTask
|
2017-06-19 15:19:54 -04:00
|
|
|
|
|
|
|
apply plugin: 'elasticsearch.build'
|
|
|
|
|
2017-06-21 12:12:19 -04:00
|
|
|
description = 'JDBC driver for Elasticsearch'
|
|
|
|
|
2017-06-19 15:19:54 -04:00
|
|
|
def generatedResources = "$buildDir/generated-resources/main"
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
output.dir(generatedResources, builtBy: "generateGitHash")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-06-29 14:31:23 -04:00
|
|
|
forbiddenApisMain {
|
|
|
|
// does not depend on core, so only jdk and http signatures should be checked
|
|
|
|
signaturesURLs = [this.class.getResource('/forbidden/jdk-signatures.txt')]
|
|
|
|
}
|
|
|
|
|
2017-06-19 15:19:54 -04:00
|
|
|
task generateGitHash {
|
|
|
|
// TODO use the manifest file automatically built by elasticsearch.build
|
|
|
|
doLast {
|
|
|
|
Version current = Version.fromString(versions.elasticsearch)
|
|
|
|
String revHash = '123123123123123'
|
|
|
|
Properties props = new Properties()
|
|
|
|
props.put("version", versions.elasticsearch)
|
|
|
|
props.put("hash", revHash)
|
|
|
|
props.put("version.major", current.major as String)
|
|
|
|
props.put("version.minor", current.minor as String)
|
|
|
|
File output = new File(generatedResources, "jdbc-build.properties")
|
|
|
|
new File(generatedResources).mkdirs()
|
|
|
|
output.createNewFile()
|
|
|
|
def writer = output.newWriter("UTF-8")
|
|
|
|
try {
|
|
|
|
props.store(writer, null)
|
|
|
|
} finally {
|
|
|
|
writer.close()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2017-06-29 14:31:23 -04:00
|
|
|
compile project(':x-pack-elasticsearch:sql:net-client')
|
|
|
|
compile project(':x-pack-elasticsearch:sql:jdbc-proto')
|
2017-06-19 15:19:54 -04:00
|
|
|
|
2017-06-29 14:31:23 -04:00
|
|
|
testCompile project(":x-pack-elasticsearch:transport-client") // NOCOMMIT probably can remove this
|
2017-06-20 15:08:50 -04:00
|
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin', configuration: 'testArtifacts')
|
2017-06-29 14:31:23 -04:00
|
|
|
testCompile project(':x-pack-elasticsearch:sql:test-utils')
|
2017-06-19 15:19:54 -04:00
|
|
|
|
2017-06-29 12:07:39 -04:00
|
|
|
// Used by the hack to run InternalTestCluster if not running against a gradle-started cluster.
|
|
|
|
testCompile project(path: ':modules:lang-painless', configuration: 'runtime')
|
|
|
|
|
2017-07-01 10:18:27 -04:00
|
|
|
testRuntime "com.h2database:org.elasticsearch.xpack.sql.jdbc.h2:1.4.194"
|
2017-06-19 15:19:54 -04:00
|
|
|
testRuntime "net.sourceforge.csvjdbc:csvjdbc:1.0.31"
|
|
|
|
}
|
|
|
|
|
2017-06-20 15:53:39 -04:00
|
|
|
dependencyLicenses {
|
|
|
|
mapping from: /jdbc-proto.*/, to: 'elasticsearch'
|
|
|
|
mapping from: /net-client.*/, to: 'elasticsearch'
|
|
|
|
ignoreSha 'jdbc-proto'
|
|
|
|
ignoreSha 'net-client'
|
|
|
|
}
|
|
|
|
|
2017-06-19 15:19:54 -04:00
|
|
|
// TODO seems like we should use the jars....
|
|
|
|
jar {
|
2017-06-29 14:31:23 -04:00
|
|
|
from(zipTree(project(':x-pack-elasticsearch:sql:net-client').jar.archivePath))
|
|
|
|
from(zipTree(project(':x-pack-elasticsearch:sql:jdbc-proto').jar.archivePath))
|
2017-06-19 15:19:54 -04:00
|
|
|
}
|
2017-06-27 17:54:07 -04:00
|
|
|
|
|
|
|
apply plugin: 'elasticsearch.rest-test'
|
2017-06-29 08:53:38 -04:00
|
|
|
integTest.mustRunAfter test
|
2017-06-27 17:54:07 -04:00
|
|
|
|
|
|
|
integTestCluster {
|
|
|
|
distribution = 'zip' // NOCOMMIT make double sure we want all the modules
|
|
|
|
plugin project(':x-pack-elasticsearch:plugin').path
|
|
|
|
/* Get a "clean" test without the other x-pack features here and check them
|
|
|
|
* all together later on. */
|
|
|
|
setting 'xpack.security.enabled', 'false'
|
|
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
|
|
setting 'xpack.ml.enabled', 'false'
|
|
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
|
|
}
|
|
|
|
|
|
|
|
task run(type: RunTask) {
|
|
|
|
distribution = 'zip' // NOCOMMIT make double sure we want all the modules
|
|
|
|
plugin project(':x-pack-elasticsearch:plugin').path
|
|
|
|
/* Get a "clean" test without the other x-pack features here and check them
|
|
|
|
* all together later on. */
|
|
|
|
setting 'xpack.security.enabled', 'false'
|
|
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
|
|
setting 'xpack.ml.enabled', 'false'
|
|
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
|
|
}
|