Revision 992e9b5dd75fe6194005484e4e452328f3360f4b authored by Tim Rühsen on 21 March 2024, 10:14:18 UTC, committed by GitHub on 21 March 2024, 10:14:18 UTC
1 parent 2120683
settings.gradle
import org.elasticsearch.gradle.internal.toolchain.OracleOpenJdkToolchainResolver
import org.elasticsearch.gradle.internal.toolchain.ArchivedOracleJdkToolchainResolver
import org.elasticsearch.gradle.internal.toolchain.AdoptiumJdkToolchainResolver
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
}
includeBuild "build-conventions"
includeBuild "build-tools"
includeBuild "build-tools-internal"
}
plugins {
id "com.gradle.enterprise" version "3.16.2"
id 'elasticsearch.java-toolchain'
}
rootProject.name = "elasticsearch"
dependencyResolutionManagement {
versionCatalogs {
buildLibs {
from(files("gradle/build.versions.toml"))
}
}
}
toolchainManagement {
jvm {
javaRepositories {
repository('bundledOracleOpendJdk') {
resolverClass = OracleOpenJdkToolchainResolver
}
repository('adoptiumJdks') {
resolverClass = AdoptiumJdkToolchainResolver
}
repository('archivedOracleJdks') {
resolverClass = ArchivedOracleJdkToolchainResolver
}
}
}
}
List projects = [
'rest-api-spec',
'docs',
'client:rest',
'client:sniffer',
'client:test',
'client:client-benchmark-noop-api-plugin',
'client:benchmark',
'benchmarks',
'distribution:archives:integ-test-zip',
'distribution:archives:windows-zip',
'distribution:archives:darwin-tar',
'distribution:archives:darwin-aarch64-tar',
'distribution:archives:linux-aarch64-tar',
'distribution:archives:linux-tar',
'distribution:docker',
'distribution:docker:cloud-docker-export',
'distribution:docker:cloud-docker-aarch64-export',
'distribution:docker:cloud-ess-docker-export',
'distribution:docker:cloud-ess-docker-aarch64-export',
'distribution:docker:docker-aarch64-export',
'distribution:docker:docker-export',
'distribution:docker:ironbank-docker-aarch64-export',
'distribution:docker:ironbank-docker-export',
'distribution:docker:ubi-docker-aarch64-export',
'distribution:docker:ubi-docker-export',
'distribution:packages:aarch64-deb',
'distribution:packages:deb',
'distribution:packages:aarch64-rpm',
'distribution:packages:rpm',
'distribution:bwc:bugfix',
'distribution:bwc:maintenance',
'distribution:bwc:minor',
'distribution:bwc:staged',
'distribution:tools:java-version-checker',
'distribution:tools:cli-launcher',
'distribution:tools:server-cli',
'distribution:tools:windows-service-cli',
'distribution:tools:plugin-cli',
'distribution:tools:keystore-cli',
'distribution:tools:geoip-cli',
'distribution:tools:ansi-console',
'server',
'test:framework',
'test:fixtures:azure-fixture',
'test:fixtures:gcs-fixture',
'test:fixtures:hdfs2-fixture',
'test:fixtures:hdfs3-fixture',
'test:fixtures:krb5kdc-fixture',
'test:fixtures:minio-fixture',
'test:fixtures:old-elasticsearch',
'test:fixtures:s3-fixture',
'test:fixtures:testcontainer-utils',
'test:fixtures:geoip-fixture',
'test:fixtures:url-fixture',
'test:logger-usage',
'test:test-clusters',
'test:x-content',
'test:yaml-rest-runner',
'test:metadata-extractor'
]
/**
* 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 hierarchy 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;
if (new File(dir, 'settings.gradle').exists()) return;
if (findProject(dir) != null) return;
final String projectName = "${path}:${dir.name}"
// This project has a problem with availability of Docker images after
// release. Disabling individual tasks is tricky because it uses test
// fixtures, so instead just skip the project entirely until we can
// work out a way forward.
if (projectName.equals(":qa:apm")) {
return
}
include projectName
if (path.isEmpty() || path.startsWith(':example-plugins')) {
project(projectName).projectDir = dir
}
for (File subdir : dir.listFiles()) {
addSubProjects(projectName, subdir)
}
}
addSubProjects('', new File(rootProject.projectDir, 'libs'))
addSubProjects('', new File(rootProject.projectDir, 'modules'))
addSubProjects('', new File(rootProject.projectDir, 'plugins'))
addSubProjects('', new File(rootProject.projectDir, 'qa'))
addSubProjects('test', new File(rootProject.projectDir, 'test/external-modules'))
addSubProjects('', new File(rootProject.projectDir, 'x-pack'))
addSubProjects('', new File(rootProject.projectDir, 'x-pack/libs'))
include projects.toArray(new String[0])
project(":libs").children.each { libsProject ->
libsProject.name = "elasticsearch-${libsProject.name}"
libsProject.children.each { lp ->
lp.name = lp.name // for :libs:elasticsearch-x-content:impl
}
}
project(":libs:elasticsearch-native:libraries").name = "elasticsearch-native-libraries"
project(":qa:stable-api").children.each { libsProject ->
libsProject.name = "elasticsearch-${libsProject.name}"
}
project(":test:external-modules").children.each { testProject ->
testProject.name = "test-${testProject.name}"
}
// look for extra plugins for elasticsearch
File extraProjects = new File(rootProject.projectDir.parentFile, "${rootProject.projectDir.name}-extra")
if (extraProjects.exists()) {
for (File extraProjectDir : extraProjects.listFiles()) {
addSubProjects('', extraProjectDir)
}
}
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...