From 5e0136eb227cbf5830d47c44edfe74e0e46ddc9c Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Wed, 20 Apr 2022 11:09:33 +0200 Subject: [PATCH] feat(ext_prop): add build properties --- ext-properties/pom.xml | 7 +++- .../de/swingbe/ext_prop/BuildProperties.java | 42 +++++++++++++++++++ .../main/java/de/swingbe/ext_prop/Main.java | 26 +++--------- .../swingbe/ext_prop/VersionProperties.java | 29 +++++++++++++ .../src/main/resources/build.properties | 2 + 5 files changed, 84 insertions(+), 22 deletions(-) create mode 100644 ext-properties/src/main/java/de/swingbe/ext_prop/BuildProperties.java create mode 100644 ext-properties/src/main/java/de/swingbe/ext_prop/VersionProperties.java create mode 100644 ext-properties/src/main/resources/build.properties diff --git a/ext-properties/pom.xml b/ext-properties/pom.xml index de7dab4..dcef4f9 100644 --- a/ext-properties/pom.xml +++ b/ext-properties/pom.xml @@ -9,7 +9,7 @@ https://swingbe.de de.swingbe ext_prop - 0.0.1 + 0.0.2 jar @@ -26,7 +26,9 @@ UTF-8 - src/main/resources/version.properties + ${maven.build.timestamp} + yyyy-MM-dd:HH:mm:ss + ${pom.version} @@ -103,6 +105,7 @@ src/main/resources/version.properties + src/main/resources/build.properties diff --git a/ext-properties/src/main/java/de/swingbe/ext_prop/BuildProperties.java b/ext-properties/src/main/java/de/swingbe/ext_prop/BuildProperties.java new file mode 100644 index 0000000..a8923c4 --- /dev/null +++ b/ext-properties/src/main/java/de/swingbe/ext_prop/BuildProperties.java @@ -0,0 +1,42 @@ +package de.swingbe.ext_prop; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Properties; + +public class BuildProperties { + private final Properties properties; + + private final java.net.URL url; + + public BuildProperties() { + url = ClassLoader.getSystemResource("build.properties"); + properties = new Properties(); + } + + public String getVersion() { + + try { + properties.load(url.openStream()); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + return properties.getProperty("build.version"); + } + + public String getDate() { + + try { + properties.load(url.openStream()); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + return properties.getProperty("build.date"); + } +} diff --git a/ext-properties/src/main/java/de/swingbe/ext_prop/Main.java b/ext-properties/src/main/java/de/swingbe/ext_prop/Main.java index 2dd013b..441f0fc 100644 --- a/ext-properties/src/main/java/de/swingbe/ext_prop/Main.java +++ b/ext-properties/src/main/java/de/swingbe/ext_prop/Main.java @@ -1,28 +1,14 @@ package de.swingbe.ext_prop; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Properties; -import java.util.Set; - public class Main { public static void main(String[] args) { System.out.println("Hello world!"); - Properties properties = new Properties(); - java.net.URL url = ClassLoader.getSystemResource("version.properties"); - - try { - properties.load(url.openStream()); - } catch (FileNotFoundException fie) { - fie.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - System.out.println("version: " + properties.getProperty("version")); - Set keys = properties.stringPropertyNames(); - for (String key : keys) { - System.out.println(key + " - " + properties.getProperty(key)); - } + VersionProperties versionProperties = new VersionProperties(); + System.out.println("version: " + versionProperties.getVersion()); + BuildProperties buildProperties = new BuildProperties(); + System.out.println("build.version: " + buildProperties.getVersion()); + System.out.println("build.date: " + buildProperties.getDate()); + System.out.println("Done!"); } diff --git a/ext-properties/src/main/java/de/swingbe/ext_prop/VersionProperties.java b/ext-properties/src/main/java/de/swingbe/ext_prop/VersionProperties.java new file mode 100644 index 0000000..1fdfa5d --- /dev/null +++ b/ext-properties/src/main/java/de/swingbe/ext_prop/VersionProperties.java @@ -0,0 +1,29 @@ +package de.swingbe.ext_prop; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Properties; + +public class VersionProperties { + private final Properties properties; + + private final java.net.URL url; + + public VersionProperties() { + url = ClassLoader.getSystemResource("version.properties"); + properties = new Properties(); + } + + public String getVersion() { + + try { + properties.load(url.openStream()); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + return properties.getProperty("version"); + } +} diff --git a/ext-properties/src/main/resources/build.properties b/ext-properties/src/main/resources/build.properties new file mode 100644 index 0000000..3bcabd8 --- /dev/null +++ b/ext-properties/src/main/resources/build.properties @@ -0,0 +1,2 @@ +build.version=${app.version} +build.date=${app.date}