From 81108de7970418f3d8343f52b6297cf882856fa4 Mon Sep 17 00:00:00 2001 From: Lenny Angst Date: Sun, 1 Dec 2024 14:11:10 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=20prepare=20release=20v1.0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And some formatting and deprecations --- build.gradle | 2 +- .../GithubVersionChecker.java | 24 ++++++++++++------- .../GithubVersionCheckerTest.java | 17 ++++++++----- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 5f127fd..0f4ab76 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'com.lezurex' -version '1.0.0' +version '1.0.1' repositories { mavenCentral() diff --git a/src/main/java/com/lezurex/githubversionchecker/GithubVersionChecker.java b/src/main/java/com/lezurex/githubversionchecker/GithubVersionChecker.java index be04b55..357e49d 100644 --- a/src/main/java/com/lezurex/githubversionchecker/GithubVersionChecker.java +++ b/src/main/java/com/lezurex/githubversionchecker/GithubVersionChecker.java @@ -10,6 +10,8 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import static java.net.HttpURLConnection.HTTP_OK; @@ -33,20 +35,23 @@ public class GithubVersionChecker { * @param currentVersion The current version running * @param includePreReleases Whether pre releases should be tested (default: false) */ - public GithubVersionChecker(String username, String repo, ReleaseVersion currentVersion, boolean includePreReleases) { + public GithubVersionChecker(String username, String repo, ReleaseVersion currentVersion, + boolean includePreReleases) { this.username = username; this.repo = repo; this.currentVersion = currentVersion; this.includePreReleases = includePreReleases; try { - URL url = new URL(String.format("https://api.github.com/repos/%s/%s", this.username, this.repo)); + URL url = new URI( + String.format("https://api.github.com/repos/%s/%s", this.username, this.repo)) + .toURL(); HttpsURLConnection con = (HttpsURLConnection) url.openConnection(); con.setRequestMethod("GET"); if (con.getResponseCode() != HTTP_OK) { throw new RepoNotFoundException(this.username, this.repo); } - } catch (IOException e) { + } catch (IOException | URISyntaxException e) { e.printStackTrace(); } } @@ -65,24 +70,27 @@ public CheckResult check() { if (this.includePreReleases) queryURL = "https://api.github.com/repos/%s/%s/releases?per_page=1"; try { - URL url = new URL(String.format(queryURL, this.username, this.repo)); + URL url = new URI(String.format(queryURL, this.username, this.repo)).toURL(); HttpsURLConnection con = (HttpsURLConnection) url.openConnection(); con.setRequestMethod("GET"); - if (con.getResponseCode() != HTTP_OK) throw new NoReleaseFoundException(this.username, this.repo); + if (con.getResponseCode() != HTTP_OK) + throw new NoReleaseFoundException(this.username, this.repo); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); JsonObject releaseData; if (this.includePreReleases) { JsonArray jsonArray = JsonParser.parseReader(in).getAsJsonArray(); - if (jsonArray.size() == 0) throw new NoReleaseFoundException(this.username, this.repo); + if (jsonArray.size() == 0) + throw new NoReleaseFoundException(this.username, this.repo); releaseData = jsonArray.get(0).getAsJsonObject(); } else releaseData = JsonParser.parseReader(in).getAsJsonObject(); in.close(); con.disconnect(); - ReleaseVersion githubVersion = new ReleaseVersion(releaseData.get("tag_name").getAsString()); + ReleaseVersion githubVersion = + new ReleaseVersion(releaseData.get("tag_name").getAsString()); String pageLink = releaseData.get("html_url").getAsString(); switch (this.currentVersion.compareTo(githubVersion)) { case -1: @@ -95,7 +103,7 @@ public CheckResult check() { return null; } - } catch (IOException e) { + } catch (IOException | URISyntaxException e) { e.printStackTrace(); } return null; diff --git a/src/test/java/com/lezurex/githubversionchecker/GithubVersionCheckerTest.java b/src/test/java/com/lezurex/githubversionchecker/GithubVersionCheckerTest.java index c7ff79c..0f1ad16 100644 --- a/src/test/java/com/lezurex/githubversionchecker/GithubVersionCheckerTest.java +++ b/src/test/java/com/lezurex/githubversionchecker/GithubVersionCheckerTest.java @@ -13,7 +13,7 @@ class GithubVersionCheckerTest { void setupValidRepo() { ReleaseVersion releaseVersion = new ReleaseVersion("0.1.1"); assertDoesNotThrow(() -> { - GithubVersionChecker versionChecker = new GithubVersionChecker("Lezurex", "github-version-checker", releaseVersion); + new GithubVersionChecker("Lezurex", "github-version-checker", releaseVersion); }, "Repo validation failed!"); } @@ -21,17 +21,22 @@ void setupValidRepo() { @DisplayName("Setup with invalid repo") void setupInvalidRepo() { ReleaseVersion releaseVersion = new ReleaseVersion("0.1.1"); - assertThrows(RepoNotFoundException.class, () -> new GithubVersionChecker("Lezurex", "doesnotexist", releaseVersion), "Repo validation di not fail!"); + assertThrows(RepoNotFoundException.class, + () -> new GithubVersionChecker("Lezurex", "doesnotexist", releaseVersion), + "Repo validation di not fail!"); } @Test @DisplayName("Check with outdated version") void checkOutdated() { ReleaseVersion releaseVersion = new ReleaseVersion("0.0.1"); - GithubVersionChecker githubVersionChecker = new GithubVersionChecker("VoxCrafterLP", "JumpRace", releaseVersion); + GithubVersionChecker githubVersionChecker = + new GithubVersionChecker("VoxCrafterLP", "JumpRace", releaseVersion); CheckResult checkResult = githubVersionChecker.check(); - assertEquals(VersionState.OUTDATED, checkResult.getVersionState(), "Version state is not outdated!"); - assertTrue(checkResult.getPageLink().endsWith(checkResult.getVersion().toString()), "End of release URL does not match version!"); + assertEquals(VersionState.OUTDATED, checkResult.getVersionState(), + "Version state is not outdated!"); + assertTrue(checkResult.getPageLink().endsWith(checkResult.getVersion().toString()), + "End of release URL does not match version!"); } -} \ No newline at end of file +}