Skip to content

Commit 3bc869c

Browse files
Merge branch 'main' into otel_plugin
2 parents a9987d3 + 9a96662 commit 3bc869c

File tree

1,060 files changed

+33281
-6963
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,060 files changed

+33281
-6963
lines changed

README.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= Elasticsearch
22

3-
Elasticsearch is a distributed search and analytics engine optimized for speed and relevance on production-scale workloads. Elasticsearch is the foundation of Elastic's open Stack platform. Search in near real-time over massive datasets, perform vector searches, integrate with generative AI applications, and much more.
3+
Elasticsearch is a distributed search and analytics engine, scalable data store and vector database optimized for speed and relevance on production-scale workloads. Elasticsearch is the foundation of Elastic's open Stack platform. Search in near real-time over massive datasets, perform vector searches, integrate with generative AI applications, and much more.
44

55
Use cases enabled by Elasticsearch include:
66

build-tools-internal/gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionSha256Sum=f8b4f4772d302c8ff580bc40d0f56e715de69b163546944f787c87abf209c961
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip
3+
distributionSha256Sum=258e722ec21e955201e31447b0aed14201765a3bfbae296a46cf60b70e66db70
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip
55
networkTimeout=10000
66
validateDistributionUrl=true
77
zipStoreBase=GRADLE_USER_HOME

build-tools-internal/src/main/groovy/org/elasticsearch/gradle/internal/AntFixtureStop.groovy

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import org.elasticsearch.gradle.OS
1313
import org.elasticsearch.gradle.internal.test.AntFixture
1414
import org.gradle.api.file.FileSystemOperations
1515
import org.gradle.api.file.ProjectLayout
16+
import org.gradle.api.provider.ProviderFactory
1617
import org.gradle.api.tasks.Internal
1718
import org.gradle.process.ExecOperations
1819

@@ -24,14 +25,17 @@ abstract class AntFixtureStop extends LoggedExec implements FixtureStop {
2425
AntFixture fixture
2526

2627
@Inject
27-
AntFixtureStop(ProjectLayout projectLayout, ExecOperations execOperations, FileSystemOperations fileSystemOperations) {
28-
super(projectLayout, execOperations, fileSystemOperations)
28+
AntFixtureStop(ProjectLayout projectLayout,
29+
ExecOperations execOperations,
30+
FileSystemOperations fileSystemOperations,
31+
ProviderFactory providerFactory) {
32+
super(projectLayout, execOperations, fileSystemOperations, providerFactory)
2933
}
3034

3135
void setFixture(AntFixture fixture) {
3236
assert this.fixture == null
3337
this.fixture = fixture;
34-
final Object pid = "${ -> this.fixture.pid }"
38+
final Object pid = "${-> this.fixture.pid}"
3539
onlyIf("pidFile exists") { fixture.pidFile.exists() }
3640
doFirst {
3741
logger.info("Shutting down ${fixture.name} with pid ${pid}")

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/BwcSetupExtension.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.gradle.api.tasks.TaskProvider;
2727
import org.gradle.jvm.toolchain.JavaLanguageVersion;
2828
import org.gradle.jvm.toolchain.JavaToolchainService;
29-
import org.gradle.jvm.toolchain.JvmVendorSpec;
3029

3130
import java.io.File;
3231
import java.io.IOException;
@@ -161,10 +160,8 @@ private static TaskProvider<LoggedExec> createRunBwcGradleTask(
161160
/** A convenience method for getting java home for a version of java and requiring that version for the given task to execute */
162161
private static Provider<String> getJavaHome(ObjectFactory objectFactory, JavaToolchainService toolChainService, final int version) {
163162
Property<JavaLanguageVersion> value = objectFactory.property(JavaLanguageVersion.class).value(JavaLanguageVersion.of(version));
164-
return toolChainService.launcherFor(javaToolchainSpec -> {
165-
javaToolchainSpec.getLanguageVersion().value(value);
166-
javaToolchainSpec.getVendor().set(JvmVendorSpec.ORACLE);
167-
}).map(launcher -> launcher.getMetadata().getInstallationPath().getAsFile().getAbsolutePath());
163+
return toolChainService.launcherFor(javaToolchainSpec -> { javaToolchainSpec.getLanguageVersion().value(value); })
164+
.map(launcher -> launcher.getMetadata().getInstallationPath().getAsFile().getAbsolutePath());
168165
}
169166

170167
private static String readFromFile(File file) {

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/info/GlobalBuildInfoPlugin.java

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import java.nio.file.Files;
4949
import java.time.ZoneOffset;
5050
import java.time.ZonedDateTime;
51-
import java.util.Arrays;
5251
import java.util.List;
5352
import java.util.Locale;
5453
import java.util.Optional;
@@ -315,50 +314,15 @@ private Optional<File> findRuntimeJavaHome() {
315314
return env == null ? Optional.empty() : Optional.of(new File(env));
316315
}
317316

318-
@NotNull
319-
private String resolveJavaHomeFromEnvVariable(String javaHomeEnvVar) {
320-
Provider<String> javaHomeNames = providers.gradleProperty("org.gradle.java.installations.fromEnv");
321-
// Provide a useful error if we're looking for a Java home version that we haven't told Gradle about yet
322-
Arrays.stream(javaHomeNames.get().split(","))
323-
.filter(s -> s.equals(javaHomeEnvVar))
324-
.findFirst()
325-
.orElseThrow(
326-
() -> new GradleException(
327-
"Environment variable '"
328-
+ javaHomeEnvVar
329-
+ "' is not registered with Gradle installation supplier. Ensure 'org.gradle.java.installations.fromEnv' is "
330-
+ "updated in gradle.properties file."
331-
)
332-
);
333-
String versionedJavaHome = System.getenv(javaHomeEnvVar);
334-
if (versionedJavaHome == null) {
335-
final String exceptionMessage = String.format(
336-
Locale.ROOT,
337-
"$%s must be set to build Elasticsearch. "
338-
+ "Note that if the variable was just set you "
339-
+ "might have to run `./gradlew --stop` for "
340-
+ "it to be picked up. See https://github.com/elastic/elasticsearch/issues/31399 details.",
341-
javaHomeEnvVar
342-
);
343-
throw new GradleException(exceptionMessage);
344-
}
345-
return versionedJavaHome;
346-
}
347-
348317
@NotNull
349318
private File resolveJavaHomeFromToolChainService(String version) {
350319
Property<JavaLanguageVersion> value = objectFactory.property(JavaLanguageVersion.class).value(JavaLanguageVersion.of(version));
351320
Provider<JavaLauncher> javaLauncherProvider = toolChainService.launcherFor(javaToolchainSpec -> {
352321
javaToolchainSpec.getLanguageVersion().value(value);
353-
javaToolchainSpec.getVendor().set(JvmVendorSpec.ORACLE);
354322
});
355323
return javaLauncherProvider.get().getMetadata().getInstallationPath().getAsFile();
356324
}
357325

358-
private static String getJavaHomeEnvVarName(String version) {
359-
return "JAVA" + version + "_HOME";
360-
}
361-
362326
public static String getResourceContents(String resourcePath) {
363327
try (
364328
BufferedReader reader = new BufferedReader(new InputStreamReader(GlobalBuildInfoPlugin.class.getResourceAsStream(resourcePath)))

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/LicenseAnalyzer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public class LicenseAnalyzer {
102102
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
103103
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
104104
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
105-
SOFTWARE\\.
105+
SOFTWARE\\.?
106106
""").replaceAll("\\s+", "\\\\s*"), Pattern.DOTALL)),
107107
new LicenseMatcher(
108108
"MIT-0",

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/toolchain/ArchivedOracleJdkToolchainResolver.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,12 @@
2323
import java.util.Map;
2424
import java.util.Optional;
2525

26+
/**
27+
* Resolves released Oracle JDKs that are EOL.
28+
*/
2629
public abstract class ArchivedOracleJdkToolchainResolver extends AbstractCustomJavaToolchainResolver {
2730

28-
private static final Map<Integer, String> ARCHIVED_BASE_VERSIONS = Maps.of(20, "20.0.2", 19, "19.0.2", 18, "18.0.2.1", 17, "17.0.7");
31+
private static final Map<Integer, String> ARCHIVED_BASE_VERSIONS = Maps.of(20, "20.0.2", 19, "19.0.2", 18, "18.0.2.1");
2932

3033
@Override
3134
public Optional<JavaToolchainDownload> resolve(JavaToolchainRequest request) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.8
1+
8.9

build-tools-internal/src/test/groovy/org/elasticsearch/gradle/internal/toolchain/ArchivedOracleJdkToolchainResolverSpec.groovy

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,6 @@ class ArchivedOracleJdkToolchainResolverSpec extends AbstractToolchainResolverSp
4040
[18, ORACLE, LINUX, X86_64, "https://download.oracle.com/java/18/archive/jdk-18.0.2.1_linux-x64_bin.tar.gz"],
4141
[18, ORACLE, LINUX, AARCH64, "https://download.oracle.com/java/18/archive/jdk-18.0.2.1_linux-aarch64_bin.tar.gz"],
4242
[18, ORACLE, WINDOWS, X86_64, "https://download.oracle.com/java/18/archive/jdk-18.0.2.1_windows-x64_bin.zip"],
43-
44-
[17, ORACLE, MAC_OS, X86_64, "https://download.oracle.com/java/17/archive/jdk-17.0.7_macos-x64_bin.tar.gz"],
45-
[17, ORACLE, MAC_OS, AARCH64, "https://download.oracle.com/java/17/archive/jdk-17.0.7_macos-aarch64_bin.tar.gz"],
46-
[17, ORACLE, LINUX, X86_64, "https://download.oracle.com/java/17/archive/jdk-17.0.7_linux-x64_bin.tar.gz"],
47-
[17, ORACLE, LINUX, AARCH64, "https://download.oracle.com/java/17/archive/jdk-17.0.7_linux-aarch64_bin.tar.gz"],
48-
[17, ORACLE, WINDOWS, X86_64, "https://download.oracle.com/java/17/archive/jdk-17.0.7_windows-x64_bin.zip"]
4943
]
5044
}
5145

build-tools/src/main/java/org/elasticsearch/gradle/DistributionDownloadPlugin.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.gradle.api.NamedDomainObjectContainer;
1515
import org.gradle.api.Plugin;
1616
import org.gradle.api.Project;
17+
import org.gradle.api.artifacts.Configuration;
1718
import org.gradle.api.artifacts.dsl.DependencyHandler;
1819
import org.gradle.api.artifacts.repositories.IvyArtifactRepository;
1920
import org.gradle.api.artifacts.type.ArtifactTypeDefinition;
@@ -53,6 +54,8 @@ public class DistributionDownloadPlugin implements Plugin<Project> {
5354

5455
private Property<Boolean> dockerAvailability;
5556

57+
private boolean writingDependencies = false;
58+
5659
@Inject
5760
public DistributionDownloadPlugin(ObjectFactory objectFactory) {
5861
this.objectFactory = objectFactory;
@@ -65,6 +68,7 @@ public void setDockerAvailability(Provider<Boolean> dockerAvailability) {
6568

6669
@Override
6770
public void apply(Project project) {
71+
writingDependencies = project.getGradle().getStartParameter().getWriteDependencyVerifications().isEmpty() == false;
6872
project.getDependencies().registerTransform(UnzipTransform.class, transformSpec -> {
6973
transformSpec.getFrom().attribute(ArtifactTypeDefinition.ARTIFACT_TYPE_ATTRIBUTE, ArtifactTypeDefinition.ZIP_TYPE);
7074
transformSpec.getTo().attribute(ArtifactTypeDefinition.ARTIFACT_TYPE_ATTRIBUTE, ArtifactTypeDefinition.DIRECTORY_TYPE);
@@ -87,7 +91,6 @@ private void setupDistributionContainer(Project project) {
8791
var extractedConfiguration = project.getConfigurations().create(DISTRO_EXTRACTED_CONFIG_PREFIX + name);
8892
extractedConfiguration.getAttributes()
8993
.attribute(ArtifactTypeDefinition.ARTIFACT_TYPE_ATTRIBUTE, ArtifactTypeDefinition.DIRECTORY_TYPE);
90-
9194
var distribution = new ElasticsearchDistribution(
9295
name,
9396
objectFactory,
@@ -96,16 +99,20 @@ private void setupDistributionContainer(Project project) {
9699
objectFactory.fileCollection().from(extractedConfiguration)
97100
);
98101

99-
registerDistributionDependencies(project, distribution);
102+
// when running with --write-dependency-verification to update dependency verification data,
103+
// we do not register the dependencies as we ignore elasticsearch internal dependencies anyhow and
104+
// want to reduce general resolution time
105+
if (writingDependencies == false) {
106+
registerDistributionDependencies(project, distribution);
107+
}
100108
return distribution;
101109
});
102110
project.getExtensions().add(CONTAINER_NAME, distributionsContainer);
103111
}
104112

105113
private void registerDistributionDependencies(Project project, ElasticsearchDistribution distribution) {
106-
project.getConfigurations()
107-
.getByName(DISTRO_CONFIG_PREFIX + distribution.getName())
108-
.getDependencies()
114+
Configuration distroConfig = project.getConfigurations().getByName(DISTRO_CONFIG_PREFIX + distribution.getName());
115+
distroConfig.getDependencies()
109116
.addLater(
110117
project.provider(() -> distribution.maybeFreeze())
111118
.map(
@@ -114,9 +121,9 @@ private void registerDistributionDependencies(Project project, ElasticsearchDist
114121
)
115122
);
116123

117-
project.getConfigurations()
118-
.getByName(DISTRO_EXTRACTED_CONFIG_PREFIX + distribution.getName())
119-
.getDependencies()
124+
Configuration extractedDistroConfig = project.getConfigurations()
125+
.getByName(DISTRO_EXTRACTED_CONFIG_PREFIX + distribution.getName());
126+
extractedDistroConfig.getDependencies()
120127
.addAllLater(
121128
project.provider(() -> distribution.maybeFreeze())
122129
.map(

0 commit comments

Comments
 (0)