diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8dabc3f..c781fdc 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -21,7 +21,7 @@ commands:
- sdkman/setup-sdkman
- sdkman/sdkman-install:
candidate: kotlin
- version: 2.0.20
+ version: 2.1.10
- run:
name: Download dependencies
command: ./bld download
@@ -46,11 +46,11 @@ jobs:
steps:
- build_and_test
- bld_jdk20:
+ bld_jdk21:
<<: *defaults
docker:
- - image: cimg/openjdk:20.0
+ - image: cimg/openjdk:21.0
steps:
- build_and_test
@@ -59,4 +59,4 @@ workflows:
bld:
jobs:
- bld_jdk17
- - bld_jdk20
+ - bld_jdk21
diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml
index 297568a..639d0d6 100644
--- a/.github/workflows/bld.yml
+++ b/.github/workflows/bld.yml
@@ -4,17 +4,17 @@ on: [push, pull_request, workflow_dispatch]
env:
COVERAGE_JDK: "21"
- COVERAGE_KOTLIN: "2.0.0"
- KOTLIN_HOME: /usr/share/kotlinc
+ COVERAGE_KOTLIN: "2.0.21"
jobs:
build-bld-project:
- runs-on: ubuntu-latest
-
strategy:
matrix:
- java-version: [17, 21, 22]
- kotlin-version: [1.19.24, 2.0.20]
+ java-version: [17, 21, 24]
+ kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ]
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
+
+ runs-on: ${{ matrix.os }}
steps:
- name: Checkout source repository
@@ -28,6 +28,23 @@ jobs:
distribution: "zulu"
java-version: ${{ matrix.java-version }}
+ - name: Download dependencies [bld example]
+ working-directory: examples/bld
+ run: ./bld download
+
+ - name: Compile and run examples [bld example]
+ working-directory: examples/bld
+ run: |
+ ./bld compile
+ ./bld run --args='https://www.example.com https://is.gd/Pt2sET'
+ ./bld run-java --args='https://www.example.com https://is.gd/Pt2sET'
+
+ - name: Run examples [gradle example]
+ working-directory: examples/gradle
+ run: |
+ ./gradlew run --args='https://www.example.com https://is.gd/Pt2sET'
+ ./gradlew runJava --args='https://www.example.com https://is.gd/Pt2sET'
+
- name: Download dependencies
run: ./bld download
@@ -39,11 +56,13 @@ jobs:
- name: Remove pom.xml
if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
+ && matrix.os == 'ubuntu-latest'
run: rm -rf pom.xml
- name: SonarCloud Scan
uses: sonarsource/sonarcloud-github-action@master
if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
+ && matrix.os == 'ubuntu-latest'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 1e01b48..94f28ea 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
new file mode 100644
index 0000000..9d6ea82
--- /dev/null
+++ b/.idea/kotlinc.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml
index 5c4010c..153a060 100644
--- a/.idea/libraries/bld.xml
+++ b/.idea/libraries/bld.xml
@@ -2,12 +2,12 @@
-
+
-
+
diff --git a/LICENSE.txt b/LICENSE.txt
index 1d8c0dd..75e61da 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
index a4ee365..7bff2fb 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
[](https://opensource.org/licenses/BSD-3-Clause)
-[](https://kotlinlang.org/)
-[](https://rife2.com/bld)
+[](https://kotlinlang.org/)
+[](https://rife2.com/bld)
[](https://github.com/ethauvin/isgd-shorten/releases/latest)
[](https://central.sonatype.com/artifact/net.thauvin.erik/isgd-shorten)
[](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/isgd-shorten/)
@@ -19,7 +19,7 @@ A simple implementation of the [is.gd](https://is.gd/) URL shortening and lookup
```kotlin
import net.thauvin.erik.isgd.Isgd
-...
+// ...
Isgd.shorten("https://www.example.com/") // returns https://is.gd/Pt2sET
Isgd.lookup("https://is.gd/Pt2sET") // returns https://www.example.com
@@ -69,10 +69,10 @@ To use with [bld](https://rife2.com/bld), include the following dependency in yo
repositories = List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS_LEGACY);
scope(compile)
- .include("net.thauvin.erik:isgd-shorten:1.0.`");
+ .include("net.thauvin.erik:isgd-shorten:1.1.0");
```
-## Gradle
+## Gradle, Maven, etc...
To use with [Gradle](https://gradle.org/), include the following dependency in your [build](https://github.com/ethauvin/isgd-shorten/blob/master/examples/gradle/build.gradle.kts) file:
@@ -83,7 +83,7 @@ repositories {
}
dependencies {
- implementation("net.thauvin.erik:isgd-shorten:1.0.1")
+ implementation("net.thauvin.erik:isgd-shorten:1.1.0")
}
```
diff --git a/examples/bld/.idea/libraries/bld.xml b/examples/bld/.idea/libraries/bld.xml
index 5c4010c..153a060 100644
--- a/examples/bld/.idea/libraries/bld.xml
+++ b/examples/bld/.idea/libraries/bld.xml
@@ -2,12 +2,12 @@
-
+
-
+
diff --git a/examples/bld/.vscode/settings.json b/examples/bld/.vscode/settings.json
index 4c33beb..ba429d0 100644
--- a/examples/bld/.vscode/settings.json
+++ b/examples/bld/.vscode/settings.json
@@ -9,7 +9,7 @@
],
"java.configuration.updateBuildConfiguration": "automatic",
"java.project.referencedLibraries": [
- "${HOME}/.bld/dist/bld-2.1.0.jar",
+ "${HOME}/.bld/dist/bld-2.2.1.jar",
"lib/**/*.jar"
]
}
diff --git a/examples/bld/lib/bld/bld-wrapper.jar b/examples/bld/lib/bld/bld-wrapper.jar
index 7d19312..ee1bfee 100644
Binary files a/examples/bld/lib/bld/bld-wrapper.jar and b/examples/bld/lib/bld/bld-wrapper.jar differ
diff --git a/examples/bld/lib/bld/bld-wrapper.properties b/examples/bld/lib/bld/bld-wrapper.properties
index c1a8f56..1156265 100644
--- a/examples/bld/lib/bld/bld-wrapper.properties
+++ b/examples/bld/lib/bld/bld-wrapper.properties
@@ -1,8 +1,8 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
-bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.8
-bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.2
+bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.10
+bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.1.0-SNAPSHOT
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.sourceDirectories=
-bld.version=2.1.0
+bld.version=2.2.1
diff --git a/examples/bld/src/bld/java/com/example/ExampleBuild.java b/examples/bld/src/bld/java/com/example/ExampleBuild.java
index 19bb45e..172466e 100644
--- a/examples/bld/src/bld/java/com/example/ExampleBuild.java
+++ b/examples/bld/src/bld/java/com/example/ExampleBuild.java
@@ -24,7 +24,7 @@ public class ExampleBuild extends BaseProject {
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, SONATYPE_SNAPSHOTS_LEGACY);
scope(compile)
- .include(dependency("net.thauvin.erik:isgd-shorten:1.0.2-SNAPSHOT"));
+ .include(dependency("net.thauvin.erik:isgd-shorten:1.1.1-SNAPSHOT"));
}
public static void main(String[] args) {
diff --git a/examples/gradle/build.gradle.kts b/examples/gradle/build.gradle.kts
index b7804fb..989a94e 100644
--- a/examples/gradle/build.gradle.kts
+++ b/examples/gradle/build.gradle.kts
@@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("application")
id("com.github.ben-manes.versions") version "0.51.0"
- kotlin("jvm") version "2.0.20"
+ kotlin("jvm") version "2.1.20"
}
repositories {
@@ -13,7 +13,7 @@ repositories {
}
dependencies {
- implementation("net.thauvin.erik:isgd-shorten:1.0.2-SNAPSHOT")
+ implementation("net.thauvin.erik:isgd-shorten:1.1.1-SNAPSHOT")
}
java {
diff --git a/examples/gradle/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/gradle/wrapper/gradle-wrapper.jar
index a4b76b9..1b33c55 100644
Binary files a/examples/gradle/gradle/wrapper/gradle-wrapper.jar and b/examples/gradle/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/examples/gradle/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/gradle/wrapper/gradle-wrapper.properties
index 0aaefbc..ca025c8 100644
--- a/examples/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/examples/gradle/gradlew b/examples/gradle/gradlew
index f5feea6..23d15a9 100755
--- a/examples/gradle/gradlew
+++ b/examples/gradle/gradlew
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -115,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
@@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
- org.gradle.wrapper.GradleWrapperMain \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
diff --git a/examples/gradle/gradlew.bat b/examples/gradle/gradlew.bat
index 9d21a21..db3a6ac 100644
--- a/examples/gradle/gradlew.bat
+++ b/examples/gradle/gradlew.bat
@@ -70,11 +70,11 @@ goto fail
:execute
@rem Setup the command line
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+set CLASSPATH=
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar
index 755b72f..a252a09 100644
Binary files a/lib/bld/bld-wrapper.jar and b/lib/bld/bld-wrapper.jar differ
diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties
index ee5e7de..751133d 100644
--- a/lib/bld/bld-wrapper.properties
+++ b/lib/bld/bld-wrapper.properties
@@ -1,10 +1,10 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
-bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.7
-bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.1
-bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.8
-bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.2
+bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.10-SNAPSHOT
+bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.4-SNAPSHOT
+bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.10
+bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.1.0-SNAPSHOT
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.sourceDirectories=
-bld.version=2.1.0
+bld.version=2.2.1
diff --git a/pom.xml b/pom.xml
index 47efac9..33a16b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
net.thauvin.erik
isgd-shorten
- 1.0.2-SNAPSHOT
+ 1.1.1-SNAPSHOT
isgd-shorten
A simple implementation of the is.gd URL shortening and lookup APIs
https://github.com/ethauvin/isgd-shorten
@@ -18,13 +18,13 @@
org.jetbrains.kotlin
kotlin-stdlib
- 2.0.20
+ 2.1.20
compile
net.thauvin.erik.urlencoder
urlencoder-lib-jvm
- 1.5.0
+ 1.6.0
compile
diff --git a/src/bld/java/net/thauvin/erik/IsgdShortenBuild.java b/src/bld/java/net/thauvin/erik/IsgdShortenBuild.java
index dd8b32e..49abd79 100644
--- a/src/bld/java/net/thauvin/erik/IsgdShortenBuild.java
+++ b/src/bld/java/net/thauvin/erik/IsgdShortenBuild.java
@@ -1,7 +1,7 @@
/*
* IsgdShortenBuild.java
*
- * Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -39,6 +39,7 @@ import rife.bld.extension.DokkaOperation;
import rife.bld.extension.JacocoReportOperation;
import rife.bld.extension.dokka.LoggingLevel;
import rife.bld.extension.dokka.OutputFormat;
+import rife.bld.extension.kotlin.CompileOptions;
import rife.bld.operations.exceptions.ExitStatusException;
import rife.bld.publish.PomBuilder;
import rife.bld.publish.PublishDeveloper;
@@ -49,6 +50,9 @@ import rife.tools.exceptions.FileUtilsErrorException;
import java.io.File;
import java.io.IOException;
import java.util.List;
+import java.util.logging.ConsoleHandler;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import static rife.bld.dependencies.Repository.*;
import static rife.bld.dependencies.Scope.compile;
@@ -60,7 +64,7 @@ public class IsgdShortenBuild extends Project {
public IsgdShortenBuild() {
pkg = "net.thauvin.erik";
name = "isgd-shorten";
- version = version(1, 0, 2, "SNAPSHOT");
+ version = version(1, 1, 1, "SNAPSHOT");
javaRelease = 11;
downloadSources = true;
@@ -68,14 +72,15 @@ public class IsgdShortenBuild extends Project {
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL);
- final var kotlin = version(2, 0, 20);
+ final var kotlin = version(2, 1, 20);
scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin))
- .include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", version(1, 5, 0)));
+ .include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", version(1, 6, 0)));
scope(test)
.include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin))
- .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
- .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)))
+ .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 12, 2)))
+ .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 12, 2)))
+ .include(dependency("org.junit.platform", "junit-platform-launcher", version(1, 12, 2)))
.include(dependency("com.willowtreeapps.assertk", "assertk-jvm", version(0, 28, 1)));
publishOperation()
@@ -111,6 +116,16 @@ public class IsgdShortenBuild extends Project {
}
public static void main(String[] args) {
+ // Enable detailed logging for the extensions
+ var level = Level.ALL;
+ var logger = Logger.getLogger("rife.bld.extension");
+ var consoleHandler = new ConsoleHandler();
+
+ consoleHandler.setLevel(level);
+ logger.addHandler(consoleHandler);
+ logger.setLevel(level);
+ logger.setUseParentHandlers(false);
+
new IsgdShortenBuild().start(args);
}
@@ -119,6 +134,7 @@ public class IsgdShortenBuild extends Project {
public void compile() throws Exception {
new CompileKotlinOperation()
.fromProject(this)
+ .compileOptions(new CompileOptions().verbose(true))
.execute();
}
diff --git a/src/main/kotlin/net/thauvin/erik/isgd/Isgd.kt b/src/main/kotlin/net/thauvin/erik/isgd/Isgd.kt
index 2575d04..9157567 100644
--- a/src/main/kotlin/net/thauvin/erik/isgd/Isgd.kt
+++ b/src/main/kotlin/net/thauvin/erik/isgd/Isgd.kt
@@ -1,7 +1,7 @@
/*
* Isgd.kt
*
- * Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -33,7 +33,7 @@ package net.thauvin.erik.isgd
import net.thauvin.erik.urlencoder.UrlEncoderUtil
import java.net.HttpURLConnection
-import java.net.URL
+import java.net.URI
/**
* See the [is.gd API](https://is.gd/apishorteningreference.php).
@@ -50,17 +50,21 @@ fun String.encode(): String = UrlEncoderUtil.encode(this)
class Isgd private constructor() {
companion object {
private fun callApi(url: String): String {
- val connection = URL(url).openConnection() as HttpURLConnection
- connection.setRequestProperty(
- "User-Agent",
- "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0"
- )
- if (connection.responseCode in 200..399) {
- return connection.inputStream.bufferedReader().use { it.readText() }
- } else {
- throw IsgdException(
- connection.responseCode,
- connection.errorStream.bufferedReader().use { it.readText() })
+ val connection = URI(url).toURL().openConnection() as HttpURLConnection
+ try {
+ connection.setRequestProperty(
+ "User-Agent",
+ "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0"
+ )
+ if (connection.responseCode in 200..399) {
+ return connection.inputStream.bufferedReader().use { it.readText() }
+ } else {
+ throw IsgdException(
+ connection.responseCode,
+ connection.errorStream.bufferedReader().use { it.readText() })
+ }
+ } finally {
+ connection.disconnect()
}
}
diff --git a/src/main/kotlin/net/thauvin/erik/isgd/IsgdException.kt b/src/main/kotlin/net/thauvin/erik/isgd/IsgdException.kt
index 110b3f4..d44ea5a 100644
--- a/src/main/kotlin/net/thauvin/erik/isgd/IsgdException.kt
+++ b/src/main/kotlin/net/thauvin/erik/isgd/IsgdException.kt
@@ -1,7 +1,7 @@
/*
* IsgdException.kt
*
- * Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/isgd/LookupConfig.kt b/src/main/kotlin/net/thauvin/erik/isgd/LookupConfig.kt
index 16f698f..6975ff2 100644
--- a/src/main/kotlin/net/thauvin/erik/isgd/LookupConfig.kt
+++ b/src/main/kotlin/net/thauvin/erik/isgd/LookupConfig.kt
@@ -1,7 +1,7 @@
/*
* LookupConfig.kt
*
- * Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/kotlin/net/thauvin/erik/isgd/ShortenConfig.kt b/src/main/kotlin/net/thauvin/erik/isgd/ShortenConfig.kt
index c71c36a..a11fc4e 100644
--- a/src/main/kotlin/net/thauvin/erik/isgd/ShortenConfig.kt
+++ b/src/main/kotlin/net/thauvin/erik/isgd/ShortenConfig.kt
@@ -1,7 +1,7 @@
/*
* ShortenConfig.kt
*
- * Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt b/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt
index 1139351..8048362 100644
--- a/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/isgd/IsgdTest.kt
@@ -1,7 +1,7 @@
/*
* IsgdTest.kt
*
- * Copyright 2020-2024 Erik C. Thauvin (erik@thauvin.net)
+ * Copyright 2020-2025 Erik C. Thauvin (erik@thauvin.net)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: