Skip to content

Commit 092d4c1

Browse files
authored
Merge branch 'main' into template-priority-docs-500
2 parents fe5e6aa + 9a51c75 commit 092d4c1

File tree

649 files changed

+5043
-979
lines changed

Some content is hidden

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

649 files changed

+5043
-979
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public enum DockerBase {
2222
// Chainguard based wolfi image with latest jdk
2323
// This is usually updated via renovatebot
2424
// spotless:off
25-
WOLFI("docker.elastic.co/wolfi/chainguard-base:latest@sha256:bfdeddb33330a281950c2a54adef991dbbe6a42832bc505d13b11beaf50ae73f",
25+
WOLFI("docker.elastic.co/wolfi/chainguard-base:latest@sha256:eef54b3a414aa53b98f0f8df2633aed83c3ba6230722769282925442968f0364",
2626
"-wolfi",
2727
"apk"
2828
),

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,14 @@ private void registerEmptyDirectoryTasks(Project project) {
134134
});
135135

136136
File pluginsDir = new File(project.getBuildDir(), "plugins-hack/plugins");
137-
project.getExtensions().add("pluginsDir", pluginsDir);
137+
project.getExtensions().getExtraProperties().set("pluginsDir", pluginsDir);
138138
project.getTasks().register("createPluginsDir", EmptyDirTask.class, t -> {
139139
t.setDir(pluginsDir);
140140
t.setDirMode(0755);
141141
});
142142

143143
File jvmOptionsDir = new File(project.getBuildDir(), "jvm-options-hack/jvm.options.d");
144-
project.getExtensions().add("jvmOptionsDir", jvmOptionsDir);
144+
project.getExtensions().getExtraProperties().set("jvmOptionsDir", jvmOptionsDir);
145145
project.getTasks().register("createJvmOptionsDir", EmptyDirTask.class, t -> {
146146
t.setDir(jvmOptionsDir);
147147
t.setDirMode(0750);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ public TaskProvider<? extends Task> createTask(Project project) {
4242
File checkstyleDir = new File(project.getBuildDir(), "checkstyle");
4343
File checkstyleSuppressions = new File(checkstyleDir, "checkstyle_suppressions.xml");
4444
File checkstyleConf = new File(checkstyleDir, "checkstyle.xml");
45-
TaskProvider<Task> copyCheckstyleConf = project.getTasks().register("copyCheckstyleConf");
45+
TaskProvider<CopyCheckStyleConfTask> copyCheckstyleConf = project.getTasks()
46+
.register("copyCheckstyleConf", CopyCheckStyleConfTask.class);
4647
// configure inputs and outputs so up to date works properly
4748
copyCheckstyleConf.configure(t -> t.getOutputs().files(checkstyleSuppressions, checkstyleConf));
4849
if ("jar".equals(checkstyleConfUrl.getProtocol())) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the "Elastic License
4+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
5+
* Public License v 1"; you may not use this file except in compliance with, at
6+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
7+
* License v3.0 only", or the "Server Side Public License, v 1".
8+
*/
9+
10+
package org.elasticsearch.gradle.internal.precommit;
11+
12+
import org.gradle.api.DefaultTask;
13+
import org.gradle.api.file.FileSystemOperations;
14+
15+
import javax.inject.Inject;
16+
17+
public abstract class CopyCheckStyleConfTask extends DefaultTask {
18+
19+
@Inject
20+
public abstract FileSystemOperations getFs();
21+
}

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

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,16 @@ public String url(String os, String arch, String extension) {
5454
}
5555
}
5656

57-
record EarlyAccessJdkBuild(JavaLanguageVersion languageVersion, String version, String buildNumber) implements JdkBuild {
58-
57+
record EarlyAccessJdkBuild(JavaLanguageVersion languageVersion) implements JdkBuild {
5958
@Override
6059
public String url(String os, String arch, String extension) {
60+
String buildNumber = resolveBuildNumber(languageVersion.asInt());
6161
return "https://download.java.net/java/early_access/jdk"
62-
+ version
62+
+ languageVersion.asInt()
6363
+ "/"
64-
+ version
64+
+ buildNumber
6565
+ "/GPL/openjdk-"
66-
+ version
66+
+ languageVersion.asInt()
6767
+ "-ea+"
6868
+ buildNumber
6969
+ "_"
@@ -73,6 +73,29 @@ public String url(String os, String arch, String extension) {
7373
+ "_bin."
7474
+ extension;
7575
}
76+
77+
private static String resolveBuildNumber(int version) {
78+
String buildNumber = System.getProperty("runtime.java." + version + ".build");
79+
if (buildNumber != null) {
80+
System.out.println("buildNumber = " + buildNumber);
81+
return buildNumber;
82+
}
83+
buildNumber = System.getProperty("runtime.java.build");
84+
if (buildNumber != null) {
85+
System.out.println("buildNumber2 = " + buildNumber);
86+
return buildNumber;
87+
}
88+
89+
switch (version) {
90+
case 24:
91+
// latest explicitly found build number for 24
92+
return "29";
93+
case 25:
94+
return "3";
95+
default:
96+
throw new IllegalArgumentException("Unsupported version " + version);
97+
}
98+
}
7699
}
77100

78101
private static final Pattern VERSION_PATTERN = Pattern.compile(
@@ -88,8 +111,8 @@ public String url(String os, String arch, String extension) {
88111
// package private so it can be replaced by tests
89112
List<JdkBuild> builds = List.of(
90113
getBundledJdkBuild(),
91-
// 23 early access
92-
new EarlyAccessJdkBuild(JavaLanguageVersion.of(23), "23", "24")
114+
new EarlyAccessJdkBuild(JavaLanguageVersion.of(24)),
115+
new EarlyAccessJdkBuild(JavaLanguageVersion.of(25))
93116
);
94117

95118
private JdkBuild getBundledJdkBuild() {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
package org.elasticsearch.gradle.internal.toolchain
1111

12+
import spock.lang.Unroll
13+
1214
import org.gradle.api.provider.Property
1315
import org.gradle.jvm.toolchain.JavaLanguageVersion
1416
import org.gradle.jvm.toolchain.JavaToolchainDownload
@@ -26,6 +28,7 @@ import static org.gradle.platform.OperatingSystem.MAC_OS
2628

2729
abstract class AbstractToolchainResolverSpec extends Specification {
2830

31+
@Unroll
2932
def "resolves #os #arch #vendor jdk #langVersion"() {
3033
given:
3134
def resolver = resolverImplementation()

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

Lines changed: 71 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,34 @@
99

1010
package org.elasticsearch.gradle.internal.toolchain
1111

12+
import spock.util.environment.RestoreSystemProperties
1213

1314
import org.gradle.api.services.BuildServiceParameters
1415
import org.gradle.jvm.toolchain.JavaLanguageVersion
16+
import org.gradle.jvm.toolchain.JavaToolchainDownload
17+
1518
import static org.gradle.jvm.toolchain.JvmVendorSpec.ORACLE
16-
import static org.gradle.platform.Architecture.*
19+
import static org.gradle.platform.Architecture.AARCH64
20+
import static org.gradle.platform.Architecture.X86_64
1721
import static org.gradle.platform.OperatingSystem.*
1822

1923
class OracleOpenJdkToolchainResolverSpec extends AbstractToolchainResolverSpec {
2024

25+
2126
OracleOpenJdkToolchainResolver resolverImplementation() {
2227
var toolChain = new OracleOpenJdkToolchainResolver() {
2328
@Override
2429
BuildServiceParameters.None getParameters() {
2530
return null
2631
}
2732
}
28-
toolChain.builds = [
29-
new OracleOpenJdkToolchainResolver.ReleasedJdkBuild(JavaLanguageVersion.of(20), "20", "36", "bdc68b4b9cbc4ebcb30745c85038d91d"),
30-
new OracleOpenJdkToolchainResolver.EarlyAccessJdkBuild(JavaLanguageVersion.of(21), "21", "6")
31-
]
33+
toolChain.builds = toolChain.builds.findAll { it instanceof OracleOpenJdkToolchainResolver.EarlyAccessJdkBuild } + [
34+
new OracleOpenJdkToolchainResolver.ReleasedJdkBuild(
35+
JavaLanguageVersion.of(20),
36+
"20",
37+
"36",
38+
"bdc68b4b9cbc4ebcb30745c85038d91d"
39+
)]
3240
toolChain
3341
}
3442

@@ -44,23 +52,67 @@ class OracleOpenJdkToolchainResolverSpec extends AbstractToolchainResolverSpec {
4452
[20, anyVendor(), LINUX, AARCH64, "https://download.oracle.com/java/GA/jdk20/bdc68b4b9cbc4ebcb30745c85038d91d/36/GPL/openjdk-20_linux-aarch64_bin.tar.gz"],
4553
[20, anyVendor(), WINDOWS, X86_64, "https://download.oracle.com/java/GA/jdk20/bdc68b4b9cbc4ebcb30745c85038d91d/36/GPL/openjdk-20_windows-x64_bin.zip"],
4654
// https://download.java.net/java/early_access/jdk23/23/GPL/openjdk-23-ea+23_macos-aarch64_bin.tar.gz
47-
[21, ORACLE, MAC_OS, X86_64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_macos-x64_bin.tar.gz"],
48-
[21, ORACLE, MAC_OS, AARCH64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_macos-aarch64_bin.tar.gz"],
49-
[21, ORACLE, LINUX, X86_64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_linux-x64_bin.tar.gz"],
50-
[21, ORACLE, LINUX, AARCH64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_linux-aarch64_bin.tar.gz"],
51-
[21, ORACLE, WINDOWS, X86_64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_windows-x64_bin.zip"],
52-
[21, anyVendor(), MAC_OS, X86_64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_macos-x64_bin.tar.gz"],
53-
[21, anyVendor(), MAC_OS, AARCH64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_macos-aarch64_bin.tar.gz"],
54-
[21, anyVendor(), LINUX, X86_64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_linux-x64_bin.tar.gz"],
55-
[21, anyVendor(), LINUX, AARCH64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_linux-aarch64_bin.tar.gz"],
56-
[21, anyVendor(), WINDOWS, X86_64, "https://download.java.net/java/early_access/jdk21/21/GPL/openjdk-21-ea+6_windows-x64_bin.zip"]
57-
]
55+
[24, ORACLE, MAC_OS, X86_64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_macos-x64_bin.tar.gz"],
56+
[24, ORACLE, MAC_OS, AARCH64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_macos-aarch64_bin.tar.gz"],
57+
[24, ORACLE, LINUX, X86_64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_linux-x64_bin.tar.gz"],
58+
[24, ORACLE, LINUX, AARCH64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_linux-aarch64_bin.tar.gz"],
59+
[24, ORACLE, WINDOWS, X86_64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_windows-x64_bin.zip"],
60+
[24, anyVendor(), MAC_OS, X86_64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_macos-x64_bin.tar.gz"],
61+
[24, anyVendor(), MAC_OS, AARCH64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_macos-aarch64_bin.tar.gz"],
62+
[24, anyVendor(), LINUX, X86_64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_linux-x64_bin.tar.gz"],
63+
[24, anyVendor(), LINUX, AARCH64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_linux-aarch64_bin.tar.gz"],
64+
[24, anyVendor(), WINDOWS, X86_64, "https://download.java.net/java/early_access/jdk24/29/GPL/openjdk-24-ea+29_windows-x64_bin.zip"]]
65+
}
66+
67+
@RestoreSystemProperties
68+
def "can provide build number for ea versions"() {
69+
given:
70+
System.setProperty('runtime.java.build', "42")
71+
System.setProperty('runtime.java.25.build', "13")
72+
def resolver = resolverImplementation()
73+
74+
when:
75+
Optional<JavaToolchainDownload> download = resolver.resolve(
76+
request(
77+
JavaLanguageVersion.of(version),
78+
vendor,
79+
platform(os, arch)
80+
)
81+
)
82+
83+
then:
84+
download.get().uri == URI.create(expectedUrl)
85+
86+
where:
87+
version | vendor | os | arch | expectedUrl
88+
24 | ORACLE | MAC_OS | X86_64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_macos-x64_bin.tar.gz"
89+
24 | ORACLE | MAC_OS | AARCH64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_macos-aarch64_bin.tar.gz"
90+
24 | ORACLE | LINUX | X86_64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_linux-x64_bin.tar.gz"
91+
24 | ORACLE | LINUX | AARCH64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_linux-aarch64_bin.tar.gz"
92+
24 | ORACLE | WINDOWS | X86_64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_windows-x64_bin.zip"
93+
24 | anyVendor() | MAC_OS | X86_64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_macos-x64_bin.tar.gz"
94+
24 | anyVendor() | MAC_OS | AARCH64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_macos-aarch64_bin.tar.gz"
95+
24 | anyVendor() | LINUX | X86_64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_linux-x64_bin.tar.gz"
96+
24 | anyVendor() | LINUX | AARCH64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_linux-aarch64_bin.tar.gz"
97+
24 | anyVendor() | WINDOWS | X86_64 | urlPrefix(24) + "42/GPL/openjdk-24-ea+42_windows-x64_bin.zip"
98+
25 | ORACLE | MAC_OS | X86_64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_macos-x64_bin.tar.gz"
99+
25 | ORACLE | MAC_OS | AARCH64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_macos-aarch64_bin.tar.gz"
100+
25 | ORACLE | LINUX | X86_64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_linux-x64_bin.tar.gz"
101+
25 | ORACLE | LINUX | AARCH64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_linux-aarch64_bin.tar.gz"
102+
25 | ORACLE | WINDOWS | X86_64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_windows-x64_bin.zip"
103+
25 | anyVendor() | MAC_OS | X86_64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_macos-x64_bin.tar.gz"
104+
25 | anyVendor() | MAC_OS | AARCH64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_macos-aarch64_bin.tar.gz"
105+
25 | anyVendor() | LINUX | X86_64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_linux-x64_bin.tar.gz"
106+
25 | anyVendor() | LINUX | AARCH64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_linux-aarch64_bin.tar.gz"
107+
25 | anyVendor() | WINDOWS | X86_64 | urlPrefix(25) + "13/GPL/openjdk-25-ea+13_windows-x64_bin.zip"
108+
}
109+
110+
private static String urlPrefix(int i) {
111+
return "https://download.java.net/java/early_access/jdk" + i + "/"
58112
}
59113

60114
def unsupportedRequests() {
61-
[
62-
[20, ORACLE, WINDOWS, AARCH64]
63-
]
115+
[[20, ORACLE, WINDOWS, AARCH64]]
64116
}
65117

66118
}

docs/changelog/118599.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 118599
2+
summary: Archive-Index upgrade compatibility
3+
area: Search
4+
type: enhancement
5+
issues: []

docs/changelog/118959.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 118959
2+
summary: Allow kibana_system user to manage .reindexed-v8-internal.alerts indices
3+
area: Authorization
4+
type: enhancement
5+
issues: []

docs/changelog/119233.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 119233
2+
summary: Fixing `GetDatabaseConfigurationAction` response serialization
3+
area: Ingest Node
4+
type: bug
5+
issues: []

0 commit comments

Comments
 (0)