mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-09 06:25:07 +00:00
0b8a2e40cb
This adds support for templating in rank eval requests. Relates to #20231 Problem: In it's current state the rank-eval request API forces the user to repeat complete queries for each test request. In most use cases the structure of the query to test will be stable with only parameters changing across requests, so this looks like lots of boilerplate json for something that could be expressed in a more concise way. Uses templating/ ScriptServices to enable users to submit only one test request template and let them only specify template parameters on a per test request basis.
116 lines
3.5 KiB
Groovy
116 lines
3.5 KiB
Groovy
rootProject.name = 'elasticsearch'
|
|
|
|
List projects = [
|
|
'build-tools',
|
|
'rest-api-spec',
|
|
'core',
|
|
'docs',
|
|
'client:rest',
|
|
'client:sniffer',
|
|
'client:transport',
|
|
'client:test',
|
|
'client:client-benchmark-noop-api-plugin',
|
|
'client:benchmark',
|
|
'benchmarks',
|
|
'distribution:integ-test-zip',
|
|
'distribution:zip',
|
|
'distribution:tar',
|
|
'distribution:deb',
|
|
'distribution:rpm',
|
|
'test:framework',
|
|
'test:fixtures:example-fixture',
|
|
'test:fixtures:hdfs-fixture',
|
|
'test:logger-usage',
|
|
'modules:aggs-matrix-stats',
|
|
'modules:ingest-common',
|
|
'modules:lang-expression',
|
|
'modules:lang-groovy',
|
|
'modules:lang-mustache',
|
|
'modules:lang-painless',
|
|
'modules:transport-netty3',
|
|
'modules:transport-netty4',
|
|
'modules:reindex',
|
|
'modules:rank-eval',
|
|
'modules:percolator',
|
|
'plugins:analysis-icu',
|
|
'plugins:analysis-kuromoji',
|
|
'plugins:analysis-phonetic',
|
|
'plugins:analysis-smartcn',
|
|
'plugins:analysis-stempel',
|
|
'plugins:discovery-azure-classic',
|
|
'plugins:discovery-ec2',
|
|
'plugins:discovery-file',
|
|
'plugins:discovery-gce',
|
|
'plugins:ingest-geoip',
|
|
'plugins:ingest-attachment',
|
|
'plugins:ingest-user-agent',
|
|
'plugins:lang-javascript',
|
|
'plugins:lang-python',
|
|
'plugins:mapper-murmur3',
|
|
'plugins:mapper-size',
|
|
'plugins:repository-azure',
|
|
'plugins:repository-gcs',
|
|
'plugins:repository-hdfs',
|
|
'plugins:repository-s3',
|
|
'plugins:jvm-example',
|
|
'plugins:store-smb',
|
|
'qa:backwards-5.0',
|
|
'qa:evil-tests',
|
|
'qa:rolling-upgrade',
|
|
'qa:smoke-test-client',
|
|
'qa:smoke-test-ingest-with-all-dependencies',
|
|
'qa:smoke-test-ingest-disabled',
|
|
'qa:smoke-test-multinode',
|
|
'qa:smoke-test-rank-eval-with-mustache',
|
|
'qa:smoke-test-plugins',
|
|
'qa:smoke-test-reindex-with-painless',
|
|
'qa:smoke-test-http',
|
|
'qa:vagrant',
|
|
]
|
|
|
|
boolean isEclipse = System.getProperty("eclipse.launcher") != null || gradle.startParameter.taskNames.contains('eclipse') || gradle.startParameter.taskNames.contains('cleanEclipse')
|
|
if (isEclipse) {
|
|
// eclipse cannot handle an intermediate dependency between main and test, so we must create separate projects
|
|
// for core-src and core-tests
|
|
projects << 'core-tests'
|
|
}
|
|
|
|
include projects.toArray(new String[0])
|
|
|
|
project(':build-tools').projectDir = new File(rootProject.projectDir, 'buildSrc')
|
|
|
|
if (isEclipse) {
|
|
project(":core").projectDir = new File(rootProject.projectDir, 'core/src/main')
|
|
project(":core").buildFileName = 'eclipse-build.gradle'
|
|
project(":core-tests").projectDir = new File(rootProject.projectDir, 'core/src/test')
|
|
project(":core-tests").buildFileName = 'eclipse-build.gradle'
|
|
}
|
|
|
|
/**
|
|
* Iterates over sub directories, looking for build.gradle, and adds a project if found
|
|
* for that dir with the given path prefix. Note that this requires each level
|
|
* of the dir hiearchy to have a build.gradle. Otherwise we would have to iterate
|
|
* all files/directories in the source tree to find all projects.
|
|
*/
|
|
void addSubProjects(String path, File dir) {
|
|
if (dir.isDirectory() == false) return;
|
|
if (dir.name == 'buildSrc') return;
|
|
if (new File(dir, 'build.gradle').exists() == false) return;
|
|
|
|
String projectName = "${path}:${dir.name}"
|
|
include projectName
|
|
for (File subdir : dir.listFiles()) {
|
|
addSubProjects(projectName, subdir)
|
|
}
|
|
}
|
|
|
|
// look for extra plugins for elasticsearch
|
|
File xplugins = new File(rootProject.projectDir.parentFile, 'x-plugins')
|
|
if (xplugins.exists()) {
|
|
include ':x-plugins'
|
|
project(':x-plugins').projectDir = xplugins
|
|
for (File extraPluginDir : xplugins.listFiles()) {
|
|
addSubProjects(':x-plugins', extraPluginDir)
|
|
}
|
|
}
|