From 43a2d59f2439428544a6eb858b734e3058ee3ac8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sat, 7 Oct 2017 17:54:02 +0200 Subject: [PATCH] Only parse the version once --- src/main/java/net/pterodactylus/sone/main/SonePlugin.java | 2 +- src/main/kotlin/net/pterodactylus/sone/main/VersionParser.kt | 2 ++ src/test/kotlin/net/pterodactylus/sone/main/VersionParserTest.kt | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java index 60e4292..19db006 100644 --- a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java +++ b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java @@ -172,7 +172,7 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr } public static String getPluginVersion() { - net.pterodactylus.sone.main.Version version = VersionParserKt.parseVersion(); + net.pterodactylus.sone.main.Version version = VersionParserKt.getParsedVersion(); return (version == null) ? "unknown" : version.getNice(); } diff --git a/src/main/kotlin/net/pterodactylus/sone/main/VersionParser.kt b/src/main/kotlin/net/pterodactylus/sone/main/VersionParser.kt index 09e91bd..4ba14f8 100644 --- a/src/main/kotlin/net/pterodactylus/sone/main/VersionParser.kt +++ b/src/main/kotlin/net/pterodactylus/sone/main/VersionParser.kt @@ -9,6 +9,8 @@ fun parseVersion(file: String = "/version.yaml"): Version? = objectMapper.readValue(it, Version::class.java) } +val parsedVersion by lazy { parseVersion() } + private val objectMapper = ObjectMapper(YAMLFactory()) @NoArg diff --git a/src/test/kotlin/net/pterodactylus/sone/main/VersionParserTest.kt b/src/test/kotlin/net/pterodactylus/sone/main/VersionParserTest.kt index 93861a0..f1702ce 100644 --- a/src/test/kotlin/net/pterodactylus/sone/main/VersionParserTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/main/VersionParserTest.kt @@ -29,4 +29,11 @@ class VersionParserTest { assertThat(version.nice, equalTo("0.9.6-466-g43f3e1c")) } + @Test + fun `parsed version is created correctly`() { + val version = parsedVersion!! + assertThat(version.id, equalTo("43f3e1c3a0f487e37e5851a2cc72756d271c7571")) + assertThat(version.nice, equalTo("0.9.6-466-g43f3e1c")) + } + } -- 2.7.4