diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml index f76f164..cb0ad5d 100644 --- a/.github/workflows/bld.yml +++ b/.github/workflows/bld.yml @@ -22,8 +22,8 @@ jobs: strategy: matrix: - java-version: [17, 21, 22] - kotlin-version: [1.9.24, 2.0.20] + java-version: [17, 21, 23] + kotlin-version: [1.9.24, 2.0.20, 2.1.0] steps: - name: Checkout source repository diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..0273acf --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index e438c94..b31ec67 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # mobibot [![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) -[![Kotlin](https://img.shields.io/badge/kotlin-2.0.20-7f52ff.svg)](https://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/kotlin-2.1.0-7f52ff.svg)](https://kotlinlang.org) [![bld](https://img.shields.io/badge/2.1.0-FA9052?label=bld&labelColor=2392FF)](https://rife2.com/bld) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_mobibot&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=ethauvin_mobibot) [![GitHub CI](https://github.com/ethauvin/mobibot/actions/workflows/bld.yml/badge.svg)](https://github.com/ethauvin/mobibot/actions/workflows/bld.yml) diff --git a/deploy.fish b/deploy.fish new file mode 100755 index 0000000..d69ee4e --- /dev/null +++ b/deploy.fish @@ -0,0 +1,11 @@ +#!/usr/bin/env fish + +./bld clean jar deploy +if test $status -eq 0 + echo "cd /home/mobibot/mobitopia/mobibot +lcd deploy +put *.jar +cd lib +rm *.jar +put lib/*.jar" | sftp nix4 +end diff --git a/deploy.sh b/deploy.sh deleted file mode 100755 index d1c1f23..0000000 --- a/deploy.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -./bld clean jar deploy -[ $? -eq 0 ] && sftp nix4.thauvin.us <4.0.0 net.thauvin.erik.mobibot mobibot - 0.8.0-rc+20240908192921 + 0.8.0-rc+20240918181213 mobibot @@ -78,7 +78,7 @@ org.jetbrains.kotlinx kotlinx-coroutines-core - 1.8.1 + 1.9.0 compile diff --git a/src/bld/java/net/thauvin/erik/MobibotBuild.java b/src/bld/java/net/thauvin/erik/MobibotBuild.java index 980f2a6..6800ec1 100644 --- a/src/bld/java/net/thauvin/erik/MobibotBuild.java +++ b/src/bld/java/net/thauvin/erik/MobibotBuild.java @@ -45,7 +45,6 @@ import rife.tools.exceptions.FileUtilsErrorException; import java.io.File; import java.io.IOException; -import java.nio.file.Path; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -77,15 +76,15 @@ public class MobibotBuild extends Project { new Repository("https://jitpack.io"), SONATYPE_SNAPSHOTS_LEGACY); - var log4j = version(2, 24, 0); - var kotlin = version(2, 0, 20); - var langchain = version(0, 34, 0); + var log4j = version(2, 24, 3); + var kotlin = version(2, 1, 0); + var langchain = version(0, 36, 2); scope(compile) // PircBotX .include(dependency("com.github.pircbotx", "pircbotx", "2.3.1")) // Commons (mostly for PircBotX) .include(dependency("org.apache.commons", "commons-lang3", "3.17.0")) - .include(dependency("org.apache.commons", "commons-text", "1.12.0")) + .include(dependency("org.apache.commons", "commons-text", "1.13.0")) .include(dependency("commons-codec", "commons-codec", "1.17.1")) .include(dependency("commons-net", "commons-net", "3.11.1")) // Google @@ -96,7 +95,7 @@ public class MobibotBuild extends Project { .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-common", kotlin)) .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk7", kotlin)) .include(dependency("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", kotlin)) - .include(dependency("org.jetbrains.kotlinx", "kotlinx-coroutines-core", "1.8.1")) + .include(dependency("org.jetbrains.kotlinx", "kotlinx-coroutines-core", "1.10.1")) .include(dependency("org.jetbrains.kotlinx", "kotlinx-cli-jvm", "0.3.6")) // Logging .include(dependency("org.slf4j", "slf4j-api", "2.0.16")) @@ -114,17 +113,17 @@ public class MobibotBuild extends Project { .include(dependency("net.aksingh", "owm-japis", "2.5.3.0")) .include(dependency("net.objecthunter", "exp4j", "0.4.8")) .include(dependency("org.json", "json", "20240303")) - .include(dependency("org.jsoup", "jsoup", "1.18.1")) + .include(dependency("org.jsoup", "jsoup", "1.18.3")) // Thauvin .include(dependency("net.thauvin.erik", "cryptoprice", "1.0.3-SNAPSHOT")) .include(dependency("net.thauvin.erik", "jokeapi", "0.9.2-SNAPSHOT")) .include(dependency("net.thauvin.erik", "pinboard-poster", "1.1.2-SNAPSHOT")) - .include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", "1.5.0")); + .include(dependency("net.thauvin.erik.urlencoder", "urlencoder-lib-jvm", "1.6.0")); scope(test) .include(dependency("com.willowtreeapps.assertk", "assertk-jvm", version(0, 28, 1))) .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, 11, 4))) + .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 4))); List jars = new ArrayList<>(); runtimeClasspathJars().forEach(f -> jars.add("./lib/" + f.getName())); @@ -142,7 +141,10 @@ public class MobibotBuild extends Project { @Override public void clean() throws Exception { - FileUtils.deleteDirectory(new File("deploy")); + var deploy = new File("deploy"); + if (deploy.exists()) { + FileUtils.deleteDirectory(deploy); + } super.clean(); } @@ -150,9 +152,11 @@ public class MobibotBuild extends Project { @Override public void compile() throws Exception { releaseInfo(); - new CompileKotlinOperation() - .fromProject(this) - .execute(); + var op = new CompileKotlinOperation() + .kotlinHome("/opt/kotlinc/") + .fromProject(this); + op.compileOptions().verbose(true); + op.execute(); } @Override @@ -201,6 +205,12 @@ public class MobibotBuild extends Project { .execute(); } + @BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory") + public void pomRoot() throws FileUtilsErrorException { + PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(), + new File(workDirectory, "pom.xml")); + } + @BuildCommand(value = "release-info", summary = "Generates the ReleaseInfo class") public void releaseInfo() throws Exception { new GeneratedVersionOperation() @@ -212,10 +222,4 @@ public class MobibotBuild extends Project { .extension(".kt") .execute(); } - - @BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory") - public void pomRoot() throws FileUtilsErrorException { - PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(), - new File(workDirectory, "pom.xml")); - } } diff --git a/src/main/kotlin/net/thauvin/erik/mobibot/Utils.kt b/src/main/kotlin/net/thauvin/erik/mobibot/Utils.kt index 6a8e4ff..92b4883 100644 --- a/src/main/kotlin/net/thauvin/erik/mobibot/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/mobibot/Utils.kt @@ -421,14 +421,22 @@ object Utils { @Throws(IOException::class) fun URL.reader(): UrlReaderResponse { val connection = this.openConnection() as HttpURLConnection - connection.setRequestProperty( - "User-Agent", - "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0" - ) - return if (connection.responseCode.isHttpSuccess()) { - UrlReaderResponse(connection.responseCode, connection.inputStream.bufferedReader().use { it.readText() }) - } else { - UrlReaderResponse(connection.responseCode, connection.errorStream.bufferedReader().use { it.readText() }) + try { + connection.setRequestProperty( + "User-Agent", + "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0" + ) + return if (connection.responseCode.isHttpSuccess()) { + UrlReaderResponse( + connection.responseCode, + connection.inputStream.bufferedReader().use { it.readText() }) + } else { + UrlReaderResponse( + connection.responseCode, + connection.errorStream.bufferedReader().use { it.readText() }) + } + } finally { + connection.disconnect() } } diff --git a/src/main/kotlin/net/thauvin/erik/mobibot/modules/Gemini2.kt b/src/main/kotlin/net/thauvin/erik/mobibot/modules/Gemini2.kt index 812aed3..365fe60 100644 --- a/src/main/kotlin/net/thauvin/erik/mobibot/modules/Gemini2.kt +++ b/src/main/kotlin/net/thauvin/erik/mobibot/modules/Gemini2.kt @@ -39,7 +39,6 @@ import org.slf4j.Logger import org.slf4j.LoggerFactory import java.util.* - class Gemini2 : AbstractModule() { private val logger: Logger = LoggerFactory.getLogger(Gemini2::class.java)