diff --git a/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java b/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java index d25662ad36c4b654ed1bd265fbbf88660bf39ad9..0df51c575a51069c381ff4bc2e7c0ca7b597b8dc 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/internal/AppVersion.java @@ -1,9 +1,25 @@ package gov.usgs.earthquake.nshmp.internal; +import java.net.URL; + +import com.google.common.base.Charsets; +import com.google.common.io.Resources; +import com.google.gson.Gson; + public interface AppVersion { public VersionInfo getVersionInfo(); + static VersionInfo versionInfo(URL resource) { + try { + return new Gson().fromJson( + Resources.toString(resource, Charsets.UTF_8), + VersionInfo.class); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + public static class VersionInfo { public String branchName; public int commitDistance; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java b/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java index 6fcd6f8d70aa7b0bcb3cbd3534c8d556d15896c0..901e4d1f17be337ce73c000b40f1d06bd611b6de 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/internal/LibVersion.java @@ -1,19 +1,14 @@ package gov.usgs.earthquake.nshmp.internal; -import com.google.common.base.Charsets; import com.google.common.io.Resources; -import com.google.gson.Gson; +/** + * + */ public class LibVersion implements AppVersion { public VersionInfo getVersionInfo() { - try { - var resource = Resources.getResource("version.json"); - return new Gson().fromJson( - Resources.toString(resource, Charsets.UTF_8), - VersionInfo.class); - } catch (Exception e) { - throw new RuntimeException(e.getMessage()); - } + var resource = Resources.getResource(LibVersion.class, "version.json"); + return AppVersion.versionInfo(resource); } }