diff --git a/pom.xml b/pom.xml index c1d9968..85514b0 100644 --- a/pom.xml +++ b/pom.xml @@ -126,6 +126,25 @@ + + io.github.git-commit-id + git-commit-id-maven-plugin + 9.0.1 + + + get-the-git-infos + + revision + + initialize + + + + true + ${project.build.outputDirectory}/git.properties + full + + diff --git a/src/main/java/name/nathanmcrae/numbersstation/Main.java b/src/main/java/name/nathanmcrae/numbersstation/Main.java index 10f9210..65c768f 100644 --- a/src/main/java/name/nathanmcrae/numbersstation/Main.java +++ b/src/main/java/name/nathanmcrae/numbersstation/Main.java @@ -52,8 +52,24 @@ public class Main extends Application { private static final Logger logger = Logger.getLogger(Main.class.getName()); // TODO: get git info private static final String VERSION = "0.0.1"; + private static Path configPath = null; private static Path statePath = null; + public static Path getConfigPath() { + if (configPath == null) { + String configHome = System.getenv("XDG_CONFIG_HOME"); + + if (configHome != null && !configHome.isEmpty() && Paths.get(configHome).isAbsolute()) { + configPath = Paths.get(configHome, "numbers-station"); + } else { + String userHome = System.getProperty("user.home"); + configPath = Paths.get(userHome, ".config", "numbers-station"); + } + } + + return configPath; + } + public static Path getStatePath() { if (statePath == null) { String stateHome = System.getenv("XDG_STATE_HOME"); diff --git a/src/main/java/name/nathanmcrae/numbersstation/MainSettings.java b/src/main/java/name/nathanmcrae/numbersstation/MainSettings.java index 18eae89..f97ffb4 100644 --- a/src/main/java/name/nathanmcrae/numbersstation/MainSettings.java +++ b/src/main/java/name/nathanmcrae/numbersstation/MainSettings.java @@ -31,17 +31,7 @@ public class MainSettings { } public static Path getSettingsFilePath() { - String configHome = System.getenv("XDG_CONFIG_HOME"); - Path directoryPath; - - if (configHome != null && !configHome.isEmpty() && Paths.get(configHome).isAbsolute()) { - directoryPath = Paths.get(configHome, "numbers-station"); - } else { - String userHome = System.getProperty("user.home"); - directoryPath = Paths.get(userHome, ".config", "numbers-station"); - } - - return directoryPath.resolve("main-settings.xml"); + return Main.getConfigPath().resolve("main-settings.xml"); } public ArrayList getStations() { diff --git a/src/main/java/name/nathanmcrae/numbersstation/StationSettings.java b/src/main/java/name/nathanmcrae/numbersstation/StationSettings.java index b385c5f..57482a8 100644 --- a/src/main/java/name/nathanmcrae/numbersstation/StationSettings.java +++ b/src/main/java/name/nathanmcrae/numbersstation/StationSettings.java @@ -128,22 +128,12 @@ public class StationSettings { } public Path stationPath() { - String configHome = System.getenv("XDG_CONFIG_HOME"); - Path directoryPath; - - if (configHome != null && !configHome.isEmpty() && Paths.get(configHome).isAbsolute()) { - directoryPath = Paths.get(configHome, "numbers-station"); - } else { - String userHome = System.getProperty("user.home"); - directoryPath = Paths.get(userHome, ".config", "numbers-station"); - } - String stationDirName = null; try { stationDirName = java.net.URLEncoder.encode(name, "UTF-8"); } catch(UnsupportedEncodingException e) {} // We know UTF-8 is supported - return directoryPath.resolve(stationDirName); + return Main.getConfigPath().resolve(stationDirName); } public String generateMessage(int generationAttempts) throws MessageGenerationException {