diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 658abb4..42bc1da 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -39,7 +39,7 @@ jobs: - name: Test with Gradle uses: gradle/gradle-build-action@v2 with: - arguments: build check --stacktrace --scan + arguments: build check --stacktrace - name: SonarCloud if: success() && matrix.java-version == env.SONAR_JDK diff --git a/.github_changelog_generator b/.github_changelog_generator deleted file mode 100644 index a12ba88..0000000 --- a/.github_changelog_generator +++ /dev/null @@ -1 +0,0 @@ -future-release=1.0.0 diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 48ea182..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,19 +0,0 @@ -# Changelog - -## [1.0.0](https://github.com/ethauvin/isgd-shorten/tree/1.0.0) (2023-09-25) - -[Full Changelog](https://github.com/ethauvin/isgd-shorten/compare/0.9.1...1.0.0) - -**Implemented enhancements:** - -- Add config builder [\#3](https://github.com/ethauvin/isgd-shorten/issues/3) -- Use UrlEncoder instead of java.net.URLEncoder [\#2](https://github.com/ethauvin/isgd-shorten/issues/2) -- Implement a way to retrieve the error response message. [\#1](https://github.com/ethauvin/isgd-shorten/issues/1) - -## [0.9.1](https://github.com/ethauvin/isgd-shorten/tree/0.9.1) (2020-06-10) - -[Full Changelog](https://github.com/ethauvin/isgd-shorten/compare/60c449feed0ddced600d7135766243e7058d683a...0.9.1) - - - -\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/README.md b/README.md index ef83280..0e7a2fa 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,8 @@ Isgd.lookup("https://is.gd/Pt2sET") // returns https://www.example.com ``` -- View [Kotlin](https://github.com/ethauvin/isgd-shorten/blob/master/examples/src/main/kotlin/com/example/IsgdExample.kt) or [Java](https://github.com/ethauvin/isgd-shorten/blob/master/examples/src/main/java/com/example/IsgdSample.java) Examples. + - View [Kotlin](https://github.com/ethauvin/isgd-shorten/blob/master/examples/src/main/kotlin/com/example/IsgdExample.kt) or [Java](https://github.com/ethauvin/isgd-shorten/blob/master/examples/src/main/java/com/example/IsgdSample.java) Examples. + ### JSON or XML @@ -52,13 +53,11 @@ Isgd.shorten( logstats = true, format = Format.JSON) ``` - returns: ```js test({ "shorturl": "https://is.gd/foobar" }); ``` - ### Gradle To use with [Gradle](https://gradle.org/), include the following dependency in your [build](https://github.com/ethauvin/isgd-shorten/blob/master/examples/build.gradle.kts) file: @@ -70,10 +69,9 @@ repositories { } dependencies { - implementation("net.thauvin.erik:isgd-shorten:1.0.0") + implementation("net.thauvin.erik:isgd-shorten:0.9.2") } ``` - Instructions for using with Maven, Ivy, etc. can be found on [Maven Central](https://central.sonatype.com/artifact/net.thauvin.erik/isgd-shorten). ## Java @@ -83,15 +81,14 @@ To make it easier to use the library with Java, configuration builders are avail ```java var config = new Config.Builder() .url("https://www.example.com/") - .shortUrl("foobar") + .shorturl("foobar") .callback("test") - .logStats(true) + .logstats(true) .format(Format.JSON) .build(); Isgd.shorten(config); ``` - ```java var config = new Config.Builder() .shortUrl("https://is.gd/Pt2sET") @@ -100,10 +97,9 @@ var config = new Config.Builder() Isgd.lookup(config); ``` - ### Errors -An `IsgdException` is thrown when an API error occurs. The error message (text, XML or JSON) and HTTP status code can be retrieved as follows: +An `IsgdException` is thrown when an API error occurs. The error message (text, XML or JSON) and HTTP status code can be retrieved as follows: ```kotlin try { diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index ca16f83..33af313 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -16,7 +16,7 @@ repositories { } dependencies { - implementation("net.thauvin.erik:isgd-shorten:1.0.0") + implementation("net.thauvin.erik:isgd-shorten:0.9.2-SNAPSHOT") } java { diff --git a/examples/src/main/java/com/example/IsgdSample.java b/examples/src/main/java/com/example/IsgdSample.java index b79d095..2f431cb 100644 --- a/examples/src/main/java/com/example/IsgdSample.java +++ b/examples/src/main/java/com/example/IsgdSample.java @@ -1,7 +1,5 @@ package com.example; -import net.thauvin.erik.isgd.Config; -import net.thauvin.erik.isgd.Format; import net.thauvin.erik.isgd.Isgd; import net.thauvin.erik.isgd.IsgdException; @@ -12,7 +10,6 @@ public final class IsgdSample { try { if (arg.contains("is.gd")) { System.out.println(arg + " <-- " + Isgd.lookup(arg)); - System.out.print(Isgd.lookup(new Config.Builder().shortUrl(arg).format(Format.WEB).build())); } else { System.out.println(arg + " --> " + Isgd.shorten(arg)); } diff --git a/pom.xml b/pom.xml index b1cfd73..2e58948 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ 4.0.0 net.thauvin.erik isgd-shorten - 1.0.0 + 0.9.2-SNAPSHOT isgd-shorten A simple implementation of the is.gd URL shortening and lookup APIs https://github.com/ethauvin/isgd-shorten diff --git a/settings.gradle.kts b/settings.gradle.kts index cf129ff..e93f35f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradle.enterprise").version("3.15") + id("com.gradle.enterprise").version("3.6.3") } gradleEnterprise { diff --git a/src/main/kotlin/net/thauvin/erik/isgd/Config.kt b/src/main/kotlin/net/thauvin/erik/isgd/Config.kt index 3c132cf..f6bcb9d 100644 --- a/src/main/kotlin/net/thauvin/erik/isgd/Config.kt +++ b/src/main/kotlin/net/thauvin/erik/isgd/Config.kt @@ -44,21 +44,19 @@ class Config private constructor( ) { /** * Configures the parameters to create/lookup an is.gd shortlink. - * - * See the [is.gd API](https://is.gd/apishorteningreference.php). */ data class Builder( - private var url: String = "", - private var shorturl: String = "", - private var callback: String = "", - private var logstats: Boolean = false, - private var format: Format = Format.SIMPLE, - private var isVgd: Boolean = false + var url: String = "", + var shorturl: String = "", + var callback: String = "", + var logstats: Boolean = false, + var format: Format = Format.SIMPLE, + var isVgd: Boolean = false ) { fun url(url: String) = apply { this.url = url } - fun shortUrl(shortUrl: String) = apply { this.shorturl = shortUrl } + fun shorturl(shorturl: String) = apply { this.shorturl = shorturl } fun callback(callback: String) = apply { this.callback = callback } - fun logStats(logStats: Boolean) = apply { this.logstats = logStats } + fun logstats(logstats: Boolean) = apply { this.logstats = logstats } fun format(format: Format) = apply { this.format = format } fun isVgd(isVgd: Boolean) = apply { this.isVgd = isVgd } diff --git a/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt b/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt index 9ec930a..e01e4ee 100644 --- a/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt +++ b/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt @@ -84,7 +84,7 @@ class IsgdTest { assertFailsWith( message = "lookup(config:empty)", exceptionClass = IllegalArgumentException::class, - block = { Isgd.lookup(Config.Builder().shortUrl("").build()) } + block = { Isgd.lookup(Config.Builder().shorturl("").build()) } ) } @@ -96,10 +96,10 @@ class IsgdTest { @Test fun testLookupDefaultConfig() { - assertEquals(url, Isgd.lookup(Config.Builder().shortUrl(shortUrl).build()), "lookup(config)") + assertEquals(url, Isgd.lookup(Config.Builder().shorturl(shortUrl).build()), "lookup(config)") assertEquals( url, Isgd.lookup( - Config.Builder().shortUrl(shortVgdUrl).isVgd(true).build() + Config.Builder().shorturl(shortVgdUrl).isVgd(true).build() ), "lookup(config:isVgd)" ) } @@ -119,12 +119,12 @@ class IsgdTest { fun testLookupJsonConfig() { assertEquals( "{ \"url\": \"$url\" }", - Isgd.lookup(Config.Builder().shortUrl(shortUrl).format(Format.JSON).build()), "lookup(config)" + Isgd.lookup(Config.Builder().shorturl(shortUrl).format(Format.JSON).build()), "lookup(config)" ) assertEquals( "test({ \"url\": \"$url\" });", - Isgd.lookup(Config.Builder().shortUrl(shortUrl).callback("test").format(Format.JSON).build()), + Isgd.lookup(Config.Builder().shorturl(shortUrl).callback("test").format(Format.JSON).build()), "lookup(config:callback)" ) } @@ -141,7 +141,7 @@ class IsgdTest { fun testLookupXmlConfig() { assertEquals( "$url", - Isgd.lookup(Config.Builder().shortUrl(shortUrl).format(Format.XML).build()), + Isgd.lookup(Config.Builder().shorturl(shortUrl).format(Format.XML).build()), "lookup(config:xml)" ) } @@ -172,7 +172,7 @@ class IsgdTest { assertFailsWith( message = "shorten(config:shorturl)", exceptionClass = IsgdException::class, - block = { Isgd.shorten(Config.Builder(url).shortUrl("test").build()) } + block = { Isgd.shorten(Config.Builder(url).shorturl("test").build()) } ) } @@ -191,7 +191,7 @@ class IsgdTest { Isgd.shorten(Config.Builder().url(url).isVgd(true).build()), "shorten(config:isVgd)" ) - assertThat(Isgd.shorten(Config.Builder().url(url).logStats(true).build()), "shorten(config:callback)") + assertThat(Isgd.shorten(Config.Builder().url(url).logstats(true).build()), "shorten(config:callback)") .matches("https://is.gd/\\w{6}".toRegex()) } diff --git a/version.properties b/version.properties index 4b9c7b3..5040329 100644 --- a/version.properties +++ b/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle #Sun May 02 21:57:08 PDT 2021 version.buildmeta= -version.major=1 -version.minor=0 -version.patch=0 -version.prerelease= -version.semver=1.0.0 +version.major=0 +version.minor=9 +version.patch=2 +version.prerelease=SNAPSHOT +version.semver=0.9.2-SNAPSHOT