2016-12-14 18:02:07 -05:00
|
|
|
String dirName = rootProject.projectDir.name
|
|
|
|
rootProject.name = dirName
|
2015-10-29 14:40:19 -04:00
|
|
|
|
2015-11-05 01:28:57 -05:00
|
|
|
List projects = [
|
2016-05-07 01:22:38 -04:00
|
|
|
'build-tools',
|
2015-10-29 14:40:19 -04:00
|
|
|
'rest-api-spec',
|
|
|
|
'core',
|
2016-04-29 10:42:03 -04:00
|
|
|
'docs',
|
2016-06-22 13:40:01 -04:00
|
|
|
'client:rest',
|
2016-12-29 12:16:04 -05:00
|
|
|
'client:rest-high-level',
|
2016-06-22 13:40:01 -04:00
|
|
|
'client:sniffer',
|
2016-07-18 09:42:24 -04:00
|
|
|
'client:transport',
|
2016-06-22 13:40:01 -04:00
|
|
|
'client:test',
|
2016-08-26 03:05:47 -04:00
|
|
|
'client:client-benchmark-noop-api-plugin',
|
2016-07-26 05:01:22 -04:00
|
|
|
'client:benchmark',
|
2016-06-15 10:48:02 -04:00
|
|
|
'benchmarks',
|
2015-12-03 17:52:51 -05:00
|
|
|
'distribution:integ-test-zip',
|
2017-05-29 10:22:32 -04:00
|
|
|
'distribution:bwc-release-snapshot',
|
|
|
|
'distribution:bwc-stable-snapshot',
|
2015-10-29 14:40:19 -04:00
|
|
|
'distribution:zip',
|
|
|
|
'distribution:tar',
|
|
|
|
'distribution:deb',
|
|
|
|
'distribution:rpm',
|
2017-02-15 16:55:19 -05:00
|
|
|
'distribution:tools:java-version-checker',
|
2017-04-21 12:25:58 -04:00
|
|
|
'distribution:tools:plugin-cli',
|
2015-12-17 19:57:39 -05:00
|
|
|
'test:framework',
|
2015-12-15 23:14:37 -05:00
|
|
|
'test:fixtures:example-fixture',
|
2015-12-20 16:00:37 -05:00
|
|
|
'test:fixtures:hdfs-fixture',
|
2017-05-10 17:42:20 -04:00
|
|
|
'test:fixtures:krb5kdc-fixture',
|
2017-05-11 10:06:20 -04:00
|
|
|
'test:fixtures:old-elasticsearch',
|
2016-02-16 18:32:21 -05:00
|
|
|
'test:logger-usage',
|
2016-05-12 13:39:51 -04:00
|
|
|
'modules:aggs-matrix-stats',
|
2017-04-19 18:51:34 -04:00
|
|
|
'modules:analysis-common',
|
2016-05-27 13:37:53 -04:00
|
|
|
'modules:ingest-common',
|
2015-12-03 17:18:26 -05:00
|
|
|
'modules:lang-expression',
|
2015-12-08 22:45:21 -05:00
|
|
|
'modules:lang-mustache',
|
2016-02-21 19:50:33 -05:00
|
|
|
'modules:lang-painless',
|
2017-09-13 11:58:53 -04:00
|
|
|
'modules:mapper-extras',
|
2017-05-12 09:58:06 -04:00
|
|
|
'modules:parent-join',
|
2016-05-20 17:53:51 -04:00
|
|
|
'modules:percolator',
|
2017-05-18 10:47:47 -04:00
|
|
|
'modules:rank-eval',
|
2017-04-19 18:51:34 -04:00
|
|
|
'modules:reindex',
|
2017-01-25 18:09:25 -05:00
|
|
|
'modules:repository-url',
|
2017-04-19 18:51:34 -04:00
|
|
|
'modules:transport-netty4',
|
2017-07-28 05:23:50 -04:00
|
|
|
'modules:tribe',
|
2015-10-29 14:40:19 -04:00
|
|
|
'plugins:analysis-icu',
|
|
|
|
'plugins:analysis-kuromoji',
|
|
|
|
'plugins:analysis-phonetic',
|
|
|
|
'plugins:analysis-smartcn',
|
|
|
|
'plugins:analysis-stempel',
|
2016-10-27 16:53:52 -04:00
|
|
|
'plugins:analysis-ukrainian',
|
2016-06-30 08:39:23 -04:00
|
|
|
'plugins:discovery-azure-classic',
|
2015-10-29 14:40:19 -04:00
|
|
|
'plugins:discovery-ec2',
|
2016-09-13 20:52:39 -04:00
|
|
|
'plugins:discovery-file',
|
2015-10-29 14:40:19 -04:00
|
|
|
'plugins:discovery-gce',
|
2016-01-08 16:44:47 -05:00
|
|
|
'plugins:ingest-geoip',
|
2016-02-09 08:57:05 -05:00
|
|
|
'plugins:ingest-attachment',
|
2016-07-05 03:42:29 -04:00
|
|
|
'plugins:ingest-user-agent',
|
2015-10-29 14:40:19 -04:00
|
|
|
'plugins:mapper-murmur3',
|
|
|
|
'plugins:mapper-size',
|
|
|
|
'plugins:repository-azure',
|
2015-09-15 11:35:10 -04:00
|
|
|
'plugins:repository-gcs',
|
2015-11-24 18:04:40 -05:00
|
|
|
'plugins:repository-hdfs',
|
2015-10-29 14:40:19 -04:00
|
|
|
'plugins:repository-s3',
|
|
|
|
'plugins:jvm-example',
|
|
|
|
'plugins:store-smb',
|
2017-04-21 18:56:04 -04:00
|
|
|
'qa:auto-create-index',
|
2015-11-03 21:42:22 -05:00
|
|
|
'qa:evil-tests',
|
2017-05-26 14:07:48 -04:00
|
|
|
'qa:full-cluster-restart',
|
2017-09-13 11:58:53 -04:00
|
|
|
'qa:integration-bwc',
|
2017-05-18 17:20:23 -04:00
|
|
|
'qa:mixed-cluster',
|
2017-04-21 18:56:04 -04:00
|
|
|
'qa:multi-cluster-search',
|
2016-11-17 04:58:09 -05:00
|
|
|
'qa:no-bootstrap-tests',
|
2017-05-11 10:06:20 -04:00
|
|
|
'qa:reindex-from-old',
|
2016-08-31 19:45:03 -04:00
|
|
|
'qa:rolling-upgrade',
|
2015-10-29 14:40:19 -04:00
|
|
|
'qa:smoke-test-client',
|
2016-11-13 17:27:18 -05:00
|
|
|
'qa:smoke-test-http',
|
2016-02-01 15:53:52 -05:00
|
|
|
'qa:smoke-test-ingest-with-all-dependencies',
|
|
|
|
'qa:smoke-test-ingest-disabled',
|
2016-06-10 17:20:04 -04:00
|
|
|
'qa:smoke-test-multinode',
|
2016-11-01 06:36:22 -04:00
|
|
|
'qa:smoke-test-rank-eval-with-mustache',
|
2016-06-10 17:20:04 -04:00
|
|
|
'qa:smoke-test-plugins',
|
2017-05-12 09:58:06 -04:00
|
|
|
'qa:smoke-test-reindex-with-all-modules',
|
2016-11-13 17:27:18 -05:00
|
|
|
'qa:smoke-test-tribe-node',
|
2015-11-02 12:40:47 -05:00
|
|
|
'qa:vagrant',
|
2017-05-27 15:46:16 -04:00
|
|
|
'qa:verify-version-constants',
|
2017-06-28 15:43:59 -04:00
|
|
|
'qa:wildfly',
|
|
|
|
'qa:query-builder-bwc'
|
2015-10-29 14:40:19 -04:00
|
|
|
]
|
|
|
|
|
2017-05-11 15:15:16 -04:00
|
|
|
File examplePluginsDir = new File(rootProject.projectDir, 'plugins/examples')
|
|
|
|
List<String> examplePlugins = []
|
|
|
|
for (File example : examplePluginsDir.listFiles()) {
|
|
|
|
if (example.isDirectory() == false) continue;
|
|
|
|
if (example.name.startsWith('build') || example.name.startsWith('.')) continue;
|
|
|
|
projects.add("example-plugins:${example.name}".toString())
|
|
|
|
examplePlugins.add(example.name)
|
|
|
|
}
|
|
|
|
|
2015-11-05 01:28:57 -05:00
|
|
|
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])
|
|
|
|
|
2016-05-07 01:22:38 -04:00
|
|
|
project(':build-tools').projectDir = new File(rootProject.projectDir, 'buildSrc')
|
2017-05-11 15:15:16 -04:00
|
|
|
project(':example-plugins').projectDir = new File(rootProject.projectDir, 'plugins/examples')
|
|
|
|
|
|
|
|
for (String example : examplePlugins) {
|
|
|
|
project(":example-plugins:${example}").projectDir = new File(rootProject.projectDir, "plugins/examples/${example}")
|
|
|
|
}
|
2016-05-07 01:22:38 -04:00
|
|
|
|
2017-05-29 10:22:32 -04:00
|
|
|
/* bwc and bwc-unreleased share the same build directory and build file, but
|
|
|
|
* apply to different backwards compatibility branches. */
|
|
|
|
project(':distribution:bwc-release-snapshot').projectDir =
|
|
|
|
new File(rootProject.projectDir, 'distribution/bwc')
|
|
|
|
project(':distribution:bwc-stable-snapshot').projectDir =
|
|
|
|
new File(rootProject.projectDir, 'distribution/bwc')
|
|
|
|
|
2015-11-05 01:28:57 -05:00
|
|
|
if (isEclipse) {
|
2015-11-06 14:45:32 -05:00
|
|
|
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'
|
2015-10-29 14:40:19 -04:00
|
|
|
}
|
|
|
|
|
2015-11-20 14:58:50 -05:00
|
|
|
/**
|
|
|
|
* 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
|
2016-12-14 18:02:07 -05:00
|
|
|
* of the dir hierarchy to have a build.gradle. Otherwise we would have to iterate
|
2015-11-20 14:58:50 -05:00
|
|
|
* all files/directories in the source tree to find all projects.
|
|
|
|
*/
|
|
|
|
void addSubProjects(String path, File dir) {
|
|
|
|
if (dir.isDirectory() == false) return;
|
2015-11-23 17:11:32 -05:00
|
|
|
if (dir.name == 'buildSrc') return;
|
2015-11-20 14:58:50 -05:00
|
|
|
if (new File(dir, 'build.gradle').exists() == false) return;
|
|
|
|
|
2015-11-23 18:15:40 -05:00
|
|
|
String projectName = "${path}:${dir.name}"
|
|
|
|
include projectName
|
2016-12-14 18:02:07 -05:00
|
|
|
if (path.isEmpty()) {
|
|
|
|
project(projectName).projectDir = dir
|
|
|
|
}
|
2015-11-20 14:58:50 -05:00
|
|
|
for (File subdir : dir.listFiles()) {
|
2015-11-23 18:15:40 -05:00
|
|
|
addSubProjects(projectName, subdir)
|
2015-11-20 14:58:50 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-11-23 17:44:37 -05:00
|
|
|
// look for extra plugins for elasticsearch
|
2016-12-14 18:02:07 -05:00
|
|
|
File extraProjects = new File(rootProject.projectDir.parentFile, "${dirName}-extra")
|
|
|
|
if (extraProjects.exists()) {
|
|
|
|
for (File extraProjectDir : extraProjects.listFiles()) {
|
|
|
|
addSubProjects('', extraProjectDir)
|
2015-11-23 17:44:37 -05:00
|
|
|
}
|
2015-11-20 14:58:50 -05:00
|
|
|
}
|