Skip to content

Commit 568b292

Browse files
authored
Encapsulate current Build (elastic#97292)
In order for build info to be pluggable for serverless, the current build needs to be lazily determined. This commit moves the CURRENT constant to a static method. relates elastic#96861
1 parent 7f952f5 commit 568b292

File tree

38 files changed

+100
-91
lines changed

38 files changed

+100
-91
lines changed

distribution/tools/plugin-cli/src/main/java/org/elasticsearch/plugins/cli/InstallPluginAction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ String getStagingHash() {
351351
}
352352

353353
boolean isSnapshot() {
354-
return Build.CURRENT.isSnapshot();
354+
return Build.current().isSnapshot();
355355
}
356356

357357
/**
@@ -386,12 +386,12 @@ private String getElasticUrl(
386386
baseUrl,
387387
pluginId,
388388
platform,
389-
Build.CURRENT.qualifiedVersion()
389+
Build.current().qualifiedVersion()
390390
);
391391
if (urlExists(platformUrl)) {
392392
return platformUrl;
393393
}
394-
return String.format(Locale.ROOT, "%s/%s-%s.zip", baseUrl, pluginId, Build.CURRENT.qualifiedVersion());
394+
return String.format(Locale.ROOT, "%s/%s-%s.zip", baseUrl, pluginId, Build.current().qualifiedVersion());
395395
}
396396

397397
private String nonReleaseUrl(final String hostname, final Version version, final String stagingHash, final String pluginId) {

distribution/tools/plugin-cli/src/main/java/org/elasticsearch/plugins/cli/SyncPluginsCliProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void execute(Terminal terminal, OptionSet options, Environment env, Proce
3939
if (Files.exists(env.configFile().resolve(ELASTICSEARCH_PLUGINS_YML)) == false) {
4040
return;
4141
}
42-
if (Build.CURRENT.type() != Build.Type.DOCKER) {
42+
if (Build.current().type() != Build.Type.DOCKER) {
4343
throw new UserException(
4444
ExitCodes.CONFIG,
4545
"Can only use [elasticsearch-plugins.yml] config file with distribution type [docker]"

distribution/tools/plugin-cli/src/test/java/org/elasticsearch/plugins/cli/InstallPluginActionTests.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ public void testSomethingWorks() throws Exception {
468468

469469
public void testSlowSignatureVerificationMessage() throws Exception {
470470
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
471-
+ Build.CURRENT.qualifiedVersion()
471+
+ Build.current().qualifiedVersion()
472472
+ ".zip";
473473
final MessageDigest digest = MessageDigest.getInstance("SHA-512");
474474

@@ -1101,7 +1101,7 @@ void jarHellCheck(PluginDescriptor candidateInfo, Path candidate, Path pluginsDi
11011101

11021102
public void testOfficialPlugin() throws Exception {
11031103
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1104-
+ Build.CURRENT.qualifiedVersion()
1104+
+ Build.current().qualifiedVersion()
11051105
+ ".zip";
11061106
assertInstallPluginFromUrl("analysis-icu", url, null, false);
11071107
}
@@ -1111,7 +1111,7 @@ public void testOfficialPluginSnapshot() throws Exception {
11111111
Locale.ROOT,
11121112
"https://snapshots.elastic.co/%s-abc123/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-%s.zip",
11131113
Version.CURRENT,
1114-
Build.CURRENT.qualifiedVersion()
1114+
Build.current().qualifiedVersion()
11151115
);
11161116
assertInstallPluginFromUrl("analysis-icu", url, "abc123", true);
11171117
}
@@ -1121,7 +1121,7 @@ public void testInstallReleaseBuildOfPluginOnSnapshotBuild() {
11211121
Locale.ROOT,
11221122
"https://snapshots.elastic.co/%s-abc123/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-%s.zip",
11231123
Version.CURRENT,
1124-
Build.CURRENT.qualifiedVersion()
1124+
Build.current().qualifiedVersion()
11251125
);
11261126
// attempting to install a release build of a plugin (no staging ID) on a snapshot build should throw a user exception
11271127
final UserException e = expectThrows(
@@ -1139,7 +1139,7 @@ public void testOfficialPluginStaging() throws Exception {
11391139
String url = "https://staging.elastic.co/"
11401140
+ Version.CURRENT
11411141
+ "-abc123/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1142-
+ Build.CURRENT.qualifiedVersion()
1142+
+ Build.current().qualifiedVersion()
11431143
+ ".zip";
11441144
assertInstallPluginFromUrl("analysis-icu", url, "abc123", false);
11451145
}
@@ -1148,7 +1148,7 @@ public void testOfficialPlatformPlugin() throws Exception {
11481148
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
11491149
+ Platforms.PLATFORM_NAME
11501150
+ "-"
1151-
+ Build.CURRENT.qualifiedVersion()
1151+
+ Build.current().qualifiedVersion()
11521152
+ ".zip";
11531153
assertInstallPluginFromUrl("analysis-icu", url, null, false);
11541154
}
@@ -1159,7 +1159,7 @@ public void testOfficialPlatformPluginSnapshot() throws Exception {
11591159
"https://snapshots.elastic.co/%s-abc123/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-%s-%s.zip",
11601160
Version.CURRENT,
11611161
Platforms.PLATFORM_NAME,
1162-
Build.CURRENT.qualifiedVersion()
1162+
Build.current().qualifiedVersion()
11631163
);
11641164
assertInstallPluginFromUrl("analysis-icu", url, "abc123", true);
11651165
}
@@ -1170,7 +1170,7 @@ public void testOfficialPlatformPluginStaging() throws Exception {
11701170
+ "-abc123/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
11711171
+ Platforms.PLATFORM_NAME
11721172
+ "-"
1173-
+ Build.CURRENT.qualifiedVersion()
1173+
+ Build.current().qualifiedVersion()
11741174
+ ".zip";
11751175
assertInstallPluginFromUrl("analysis-icu", url, "abc123", false);
11761176
}
@@ -1210,7 +1210,7 @@ public void testMavenChecksumWithoutFilename() throws Exception {
12101210

12111211
public void testOfficialChecksumWithoutFilename() throws Exception {
12121212
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1213-
+ Build.CURRENT.qualifiedVersion()
1213+
+ Build.current().qualifiedVersion()
12141214
+ ".zip";
12151215
MessageDigest digest = MessageDigest.getInstance("SHA-512");
12161216
UserException e = expectThrows(
@@ -1223,7 +1223,7 @@ public void testOfficialChecksumWithoutFilename() throws Exception {
12231223

12241224
public void testOfficialShaMissing() throws Exception {
12251225
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1226-
+ Build.CURRENT.qualifiedVersion()
1226+
+ Build.current().qualifiedVersion()
12271227
+ ".zip";
12281228
MessageDigest digest = MessageDigest.getInstance("SHA-1");
12291229
UserException e = expectThrows(
@@ -1256,7 +1256,7 @@ public void testMavenShaMissing() {
12561256

12571257
public void testInvalidShaFileMissingFilename() throws Exception {
12581258
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1259-
+ Build.CURRENT.qualifiedVersion()
1259+
+ Build.current().qualifiedVersion()
12601260
+ ".zip";
12611261
MessageDigest digest = MessageDigest.getInstance("SHA-512");
12621262
UserException e = expectThrows(
@@ -1269,7 +1269,7 @@ public void testInvalidShaFileMissingFilename() throws Exception {
12691269

12701270
public void testInvalidShaFileMismatchFilename() throws Exception {
12711271
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1272-
+ Build.CURRENT.qualifiedVersion()
1272+
+ Build.current().qualifiedVersion()
12731273
+ ".zip";
12741274
MessageDigest digest = MessageDigest.getInstance("SHA-512");
12751275
UserException e = expectThrows(
@@ -1281,7 +1281,7 @@ public void testInvalidShaFileMismatchFilename() throws Exception {
12811281
null,
12821282
false,
12831283
".sha512",
1284-
checksumAndString(digest, " repository-s3-" + Build.CURRENT.qualifiedVersion() + ".zip"),
1284+
checksumAndString(digest, " repository-s3-" + Build.current().qualifiedVersion() + ".zip"),
12851285
null,
12861286
(b, p) -> null
12871287
)
@@ -1292,7 +1292,7 @@ public void testInvalidShaFileMismatchFilename() throws Exception {
12921292

12931293
public void testInvalidShaFileContainingExtraLine() throws Exception {
12941294
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1295-
+ Build.CURRENT.qualifiedVersion()
1295+
+ Build.current().qualifiedVersion()
12961296
+ ".zip";
12971297
MessageDigest digest = MessageDigest.getInstance("SHA-512");
12981298
UserException e = expectThrows(
@@ -1304,7 +1304,7 @@ public void testInvalidShaFileContainingExtraLine() throws Exception {
13041304
null,
13051305
false,
13061306
".sha512",
1307-
checksumAndString(digest, " analysis-icu-" + Build.CURRENT.qualifiedVersion() + ".zip\nfoobar"),
1307+
checksumAndString(digest, " analysis-icu-" + Build.current().qualifiedVersion() + ".zip\nfoobar"),
13081308
null,
13091309
(b, p) -> null
13101310
)
@@ -1315,7 +1315,7 @@ public void testInvalidShaFileContainingExtraLine() throws Exception {
13151315

13161316
public void testSha512Mismatch() {
13171317
String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-"
1318-
+ Build.CURRENT.qualifiedVersion()
1318+
+ Build.current().qualifiedVersion()
13191319
+ ".zip";
13201320
UserException e = expectThrows(
13211321
UserException.class,
@@ -1326,7 +1326,7 @@ public void testSha512Mismatch() {
13261326
null,
13271327
false,
13281328
".sha512",
1329-
bytes -> "foobar analysis-icu-" + Build.CURRENT.qualifiedVersion() + ".zip",
1329+
bytes -> "foobar analysis-icu-" + Build.current().qualifiedVersion() + ".zip",
13301330
null,
13311331
(b, p) -> null
13321332
)
@@ -1360,7 +1360,7 @@ public void testPublicKeyIdMismatchToExpectedPublicKeyId() throws Exception {
13601360
final String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/"
13611361
+ icu
13621362
+ "-"
1363-
+ Build.CURRENT.qualifiedVersion()
1363+
+ Build.current().qualifiedVersion()
13641364
+ ".zip";
13651365
final MessageDigest digest = MessageDigest.getInstance("SHA-512");
13661366
/*
@@ -1395,7 +1395,7 @@ public void testFailedSignatureVerification() throws Exception {
13951395
final String url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/"
13961396
+ icu
13971397
+ "-"
1398-
+ Build.CURRENT.qualifiedVersion()
1398+
+ Build.current().qualifiedVersion()
13991399
+ ".zip";
14001400
final MessageDigest digest = MessageDigest.getInstance("SHA-512");
14011401
/*

distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/APMJvmOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ static Path findAgentJar(String installDir) throws IOException, UserException {
306306
final Path apmModule = Path.of(installDir).resolve("modules").resolve("apm");
307307

308308
if (Files.notExists(apmModule)) {
309-
if (Build.CURRENT.isProductionRelease()) {
309+
if (Build.current().isProductionRelease()) {
310310
throw new UserException(
311311
ExitCodes.CODE_ERROR,
312312
"Expected to find [apm] module in [" + apmModule + "]! Installation is corrupt"

distribution/tools/server-cli/src/main/java/org/elasticsearch/server/cli/ServerCli.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ private void printVersion(Terminal terminal) {
116116
final String versionOutput = String.format(
117117
Locale.ROOT,
118118
"Version: %s, Build: %s/%s/%s, JVM: %s",
119-
Build.CURRENT.qualifiedVersion(),
120-
Build.CURRENT.type().displayName(),
121-
Build.CURRENT.hash(),
122-
Build.CURRENT.date(),
119+
Build.current().qualifiedVersion(),
120+
Build.current().type().displayName(),
121+
Build.current().hash(),
122+
Build.current().date(),
123123
JvmInfo.jvmInfo().version()
124124
);
125125
terminal.println(versionOutput);

distribution/tools/server-cli/src/test/java/org/elasticsearch/server/cli/ServerCliTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ public void testVersion() throws Exception {
8383
final String expectedBuildOutput = String.format(
8484
Locale.ROOT,
8585
"Build: %s/%s/%s",
86-
Build.CURRENT.type().displayName(),
87-
Build.CURRENT.hash(),
88-
Build.CURRENT.date()
86+
Build.current().type().displayName(),
87+
Build.current().hash(),
88+
Build.current().date()
8989
);
9090
Matcher<String> versionOutput = allOf(
91-
containsString("Version: " + Build.CURRENT.qualifiedVersion()),
91+
containsString("Version: " + Build.current().qualifiedVersion()),
9292
containsString(expectedBuildOutput),
9393
containsString("JVM: " + JvmInfo.jvmInfo().version())
9494
);

modules/rest-root/src/main/java/org/elasticsearch/rest/root/TransportMainAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ protected void doExecute(Task task, MainRequest request, ActionListener<MainResp
4949
TransportVersion.current(),
5050
clusterState.getClusterName(),
5151
clusterState.metadata().clusterUUID(),
52-
Build.CURRENT
52+
Build.current()
5353
)
5454
);
5555
}

modules/rest-root/src/test/java/org/elasticsearch/rest/root/MainResponseTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ protected MainResponse doParseInstance(XContentParser parser) {
5252

5353
public void testToXContent() throws IOException {
5454
String clusterUUID = randomAlphaOfLengthBetween(10, 20);
55-
final Build current = Build.CURRENT;
55+
final Build current = Build.current();
5656
Build build = new Build(current.type(), current.hash(), current.date(), current.isSnapshot(), current.qualifiedVersion());
5757
Version version = Version.CURRENT;
5858
TransportVersion transportVersion = TransportVersion.current();

modules/rest-root/src/test/java/org/elasticsearch/rest/root/RestMainActionTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void testHeadResponse() throws Exception {
3636
final String clusterUUID = randomAlphaOfLengthBetween(10, 20);
3737
final Version version = Version.CURRENT;
3838
final TransportVersion transportVersion = TransportVersion.current();
39-
final Build build = Build.CURRENT;
39+
final Build build = Build.current();
4040

4141
final MainResponse mainResponse = new MainResponse(nodeName, version, transportVersion, clusterName, clusterUUID, build);
4242
XContentBuilder builder = JsonXContent.contentBuilder();
@@ -61,7 +61,7 @@ public void testGetResponse() throws Exception {
6161
final String clusterUUID = randomAlphaOfLengthBetween(10, 20);
6262
final Version version = Version.CURRENT;
6363
final TransportVersion transportVersion = TransportVersion.current();
64-
final Build build = Build.CURRENT;
64+
final Build build = Build.current();
6565
final boolean prettyPrint = randomBoolean();
6666

6767
final MainResponse mainResponse = new MainResponse(nodeName, version, transportVersion, clusterName, clusterUUID, build);

modules/systemd/src/main/java/org/elasticsearch/systemd/SystemdPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ final boolean isEnabled() {
4747

4848
@SuppressWarnings("unused")
4949
public SystemdPlugin() {
50-
this(true, Build.CURRENT.type(), System.getenv("ES_SD_NOTIFY"));
50+
this(true, Build.current().type(), System.getenv("ES_SD_NOTIFY"));
5151
}
5252

5353
SystemdPlugin(final boolean assertIsPackageDistribution, final Build.Type buildType, final String esSDNotify) {

0 commit comments

Comments
 (0)