mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-07 13:38:49 +00:00
Currently forbidden apis accounts for 800+ tasks in the build. These tasks are aggressively created by the plugin. In forbidden apis 3.0, we will get task avoidance (https://github.com/policeman-tools/forbidden-apis/pull/162), but we need to ourselves use the same task avoidance mechanisms to not trigger these task creations. This commit does that for our foribdden apis usages, in preparation for upgrading to 3.0 when it is released.
128 lines
3.9 KiB
Groovy
128 lines
3.9 KiB
Groovy
description = 'Integration tests for SQL'
|
|
apply plugin: 'elasticsearch.build'
|
|
archivesBaseName = 'qa-sql'
|
|
group = "org.elasticsearch.x-pack.qa.sql"
|
|
|
|
dependencies {
|
|
compile project(":test:framework")
|
|
|
|
// JDBC testing dependencies
|
|
compile project(path: xpackModule('sql:jdbc'))
|
|
|
|
compile project(path: xpackModule('sql:sql-action'))
|
|
compile "net.sourceforge.csvjdbc:csvjdbc:${csvjdbcVersion}"
|
|
|
|
// CLI testing dependencies
|
|
compile project(path: xpackModule('sql:sql-cli'))
|
|
|
|
// H2GIS testing dependencies
|
|
compile("org.orbisgis:h2gis:${h2gisVersion}") {
|
|
exclude group: "org.locationtech.jts"
|
|
}
|
|
|
|
// select just the parts of JLine that are needed
|
|
compile("org.jline:jline-terminal-jna:${jlineVersion}") {
|
|
exclude group: "net.java.dev.jna"
|
|
}
|
|
compile "org.jline:jline-terminal:${jlineVersion}"
|
|
compile "org.jline:jline-reader:${jlineVersion}"
|
|
compile "org.jline:jline-style:${jlineVersion}"
|
|
|
|
testRuntime "org.elasticsearch:jna:${versions.jna}"
|
|
}
|
|
|
|
/* disable unit tests because these are all integration tests used
|
|
* other qa projects. */
|
|
test.enabled = false
|
|
|
|
dependencyLicenses.enabled = false
|
|
dependenciesInfo.enabled = false
|
|
|
|
// the main files are actually test files, so use the appropriate forbidden api sigs
|
|
tasks.named('forbiddenApisMain').configure {
|
|
replaceSignatureFiles 'es-all-signatures', 'es-test-signatures'
|
|
}
|
|
|
|
// just a test fixture: we aren't using this jars in releases and H2GIS requires disabling a lot of checks
|
|
thirdPartyAudit.enabled = false
|
|
|
|
subprojects {
|
|
if (subprojects.isEmpty()) {
|
|
// leaf project
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
} else {
|
|
apply plugin: 'elasticsearch.build'
|
|
}
|
|
|
|
configurations.testRuntimeClasspath {
|
|
resolutionStrategy.force "org.slf4j:slf4j-api:1.7.25"
|
|
}
|
|
configurations.testRuntime {
|
|
// This is also required to make resolveAllDependencies work
|
|
resolutionStrategy.force "org.slf4j:slf4j-api:1.7.25"
|
|
}
|
|
dependencies {
|
|
|
|
/* Since we're a standalone rest test we actually get transitive
|
|
* dependencies but we don't really want them because they cause
|
|
* all kinds of trouble with the jar hell checks. So we suppress
|
|
* them explicitly for non-es projects. */
|
|
testCompile(xpackProject('plugin:sql:qa')) {
|
|
transitive = false
|
|
}
|
|
testCompile project(":test:framework")
|
|
|
|
// JDBC testing dependencies
|
|
testRuntime "net.sourceforge.csvjdbc:csvjdbc:${csvjdbcVersion}"
|
|
testRuntime "com.h2database:h2:${h2Version}"
|
|
|
|
// H2GIS testing dependencies
|
|
testRuntime("org.orbisgis:h2gis:${h2gisVersion}") {
|
|
exclude group: "org.locationtech.jts"
|
|
exclude group: "com.fasterxml.jackson.core"
|
|
}
|
|
|
|
testRuntime project(path: xpackModule('sql:jdbc'))
|
|
testRuntime xpackProject('plugin:sql:sql-client')
|
|
|
|
// TODO check if needed
|
|
testRuntime("org.antlr:antlr4-runtime:${antlrVersion}") {
|
|
transitive = false
|
|
}
|
|
|
|
// CLI testing dependencies
|
|
testRuntime project(path: xpackModule('sql:sql-cli'))
|
|
testRuntime(xpackProject('plugin:sql:sql-action')) {
|
|
transitive = false
|
|
}
|
|
|
|
testRuntime("org.jline:jline-terminal-jna:${jlineVersion}") {
|
|
exclude group: "net.java.dev.jna"
|
|
}
|
|
testRuntime "org.jline:jline-terminal:${jlineVersion}"
|
|
testRuntime "org.jline:jline-reader:${jlineVersion}"
|
|
testRuntime "org.jline:jline-style:${jlineVersion}"
|
|
|
|
testRuntime "org.elasticsearch:jna:${versions.jna}"
|
|
}
|
|
|
|
if (project.name != 'security') {
|
|
// The security project just configures its subprojects
|
|
apply plugin: 'elasticsearch.testclusters'
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
testClusters.integTest {
|
|
testDistribution = 'DEFAULT'
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
}
|
|
|
|
task runqa {
|
|
doFirst {
|
|
println "Run with `-Dtestclusters.inspect.failure=true integTest` to leave the cluster running after failure"
|
|
}
|
|
}
|
|
}
|
|
}
|