diff --git a/pom.xml b/pom.xml
index 3197eee..168bede 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
de.b00tload.tools
LastfmToSpotifyPlaylist
- 1.0
+ 1.1-alpha
LastFM2SpotifyPlaylist
Creates a Spotify playlist from LastFM scrobble data.
@@ -80,6 +80,8 @@
de.b00tload.tools.lastfmtospotifyplaylist.LastFMToSpotify
+ true
+ true
@@ -107,6 +109,11 @@
slf4j-simple
2.0.6
+
+ commons-io
+ commons-io
+ 2.11.0
+
\ No newline at end of file
diff --git a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java
index 50dd59e..4e1d74b 100644
--- a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java
+++ b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java
@@ -12,9 +12,7 @@ import de.umass.lastfm.User;
import io.javalin.Javalin;
import io.javalin.http.ContentType;
import io.javalin.http.HttpStatus;
-import io.javalin.jetty.JettyUtil;
import io.javalin.util.JavalinLogger;
-import org.slf4j.LoggerFactory;
import se.michaelthelin.spotify.SpotifyApi;
import se.michaelthelin.spotify.model_objects.specification.Playlist;
@@ -79,6 +77,10 @@ public class LastFMToSpotify {
System.setErr(new Logger.LogStream(System.err));
}
+ if(Integer.parseInt(configuration.get("logging.level")) !=0){
+ VersionChecker.checkVerion();
+ }
+
try {
logLn("Authenticating with Spotify...", 1);
SpotifyApi.Builder build = SpotifyApi.builder();
diff --git a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/util/VersionChecker.java b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/util/VersionChecker.java
new file mode 100644
index 0000000..00b2ae8
--- /dev/null
+++ b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/util/VersionChecker.java
@@ -0,0 +1,42 @@
+package de.b00tload.tools.lastfmtospotifyplaylist.util;
+
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import org.apache.commons.io.IOUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+
+public class VersionChecker {
+
+ private static final String GITHUB_API_BASE_URL = "https://api.github.com/repos/B00tLoad/LastFMToSpotifyPlaylist";
+
+
+ public static void checkVerion() {
+ String currentVersion = VersionChecker.class.getPackage().getImplementationVersion();
+ String latestVersion = fetchLatestReleaseVersion();
+ if (currentVersion == null) {
+ System.out.println("Error: Failed to retrieve current version");
+ } else if (latestVersion == null) {
+ System.out.println("Error: Failed to retrieve latest release version");
+ } else if (currentVersion.compareTo(latestVersion) < 0) {
+ System.out.println("A new version is available: " + latestVersion);
+ } else {
+ System.out.println("You are running the latest version: " + currentVersion);
+ }
+ }
+
+ private static String fetchLatestReleaseVersion() {
+ try (InputStream inputStream = (new URL(GITHUB_API_BASE_URL + "/releases/latest")).openStream()) {
+ String response = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+ JsonObject release = JsonParser.parseString(response).getAsJsonObject();
+ return release.get("tag_name").getAsString().substring(1);
+ } catch (NullPointerException | IOException ex){
+ ex.printStackTrace();
+ return null;
+ }
+ }
+
+}