diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 64b3107..9d489e3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -21,16 +21,16 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: 17 distribution: temurin - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v5 - name: Generate documentation directory - run: ./gradlew dokkaHtml + run: ./gradlew dokkaGenerateHtml - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b793bac..f342839 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,14 +12,14 @@ jobs: environment: maven-central-release runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: 17 distribution: temurin - name: Build and test - run: ./gradlew build test dokkaHtml + run: ./gradlew build test dokkaGenerateHtml - name: Release to Maven Central env: JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.MAVENCENTRAL_USERNAME }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 230d70f..99c4fe2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,12 +14,12 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-java@v5 with: java-version: 17 distribution: temurin - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v5 - name: Build and test - run: ./gradlew --build-cache --parallel build check dokkaHtml + run: ./gradlew --build-cache --parallel build check dokkaGenerateHtml diff --git a/README.md b/README.md index 805e5ca..f36bf27 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ [7]: https://github.com/MinnDevelopment/strumbot [8]: https://minndevelopment.github.io/jda-ktx/ -[![Kotlin](https://img.shields.io/badge/kotlin-2.2.10-blue.svg?logo=kotlin)](http://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/kotlin-2.3.0-blue.svg?logo=kotlin)](http://kotlinlang.org) [![kotlinx-coroutines](https://img.shields.io/badge/kotlinx.coroutines-1.10.2-blue.svg?logo=kotlin)][2] -[![JDA](https://img.shields.io/badge/JDA-5.6.1-blue.svg)][1] +[![JDA](https://img.shields.io/badge/JDA-6.2.0-blue.svg)][1] [![docs](https://img.shields.io/github/deployments/minndevelopment/jda-ktx/github-pages?label=docs)][8] [ ![](https://img.shields.io/maven-central/v/club.minnced/jda-ktx) ](https://search.maven.org/artifact/club.minnced/jda-ktx) @@ -22,9 +22,9 @@ Great in combination with [kotlinx-coroutines][2] and [jda-reactor][3]. ## Required Dependencies -- Kotlin **2.2.10** +- Kotlin **2.3.0** - kotlinx.coroutines **1.10.2** -- JDA **5.6.1** +- JDA **6.2.0** ## Examples diff --git a/build.gradle.kts b/build.gradle.kts index c0cd70f..283e7a8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,14 +1,10 @@ import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask import nl.littlerobots.vcu.plugin.resolver.VersionSelectors import org.gradle.kotlin.dsl.withType -import org.jetbrains.dokka.base.DokkaBase -import org.jetbrains.dokka.base.DokkaBaseConfiguration -import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile import org.jreleaser.gradle.plugin.tasks.AbstractJReleaserTask import org.jreleaser.model.Active -import java.net.URI plugins { `maven-publish` @@ -28,7 +24,7 @@ buildscript { } group = "club.minnced" -version = "0.13.0" +version = "0.14.0" @@ -45,7 +41,6 @@ tasks.withType { compilerOptions { allWarningsAsErrors.set(true) jvmTarget.set(JvmTarget.JVM_1_8) - freeCompilerArgs.addAll("-Xjvm-default=all") } } @@ -136,22 +131,23 @@ tasks.test.get().dependsOn(tasks.getByName("detekt")) // Documentation // /////////////////// -tasks.withType().configureEach { - dokkaSourceSets.named("main") { +dokka { + dokkaSourceSets.main { includes.from("packages.md") jdkVersion.set(8) + sourceLink { localDirectory.set(file("src/main/kotlin")) - remoteUrl.set(URI("https://github.com/MinnDevelopment/jda-ktx/tree/master/src/main/kotlin").toURL()) + remoteUrl("https://github.com/MinnDevelopment/jda-ktx/tree/master/src/main/kotlin") remoteLineSuffix.set("#L") } - externalDocumentationLink( - url = URI("https://ci.dv8tion.net/job/JDA5/javadoc/").toURL(), - packageListUrl = URI("https://ci.dv8tion.net/job/JDA5/javadoc/element-list").toURL() - ) + externalDocumentationLinks.register("JDA") { + url("https://docs.jda.wiki/") + packageListUrl("https://docs.jda.wiki/element-list") + } - pluginConfiguration { + pluginsConfiguration.html { footerMessage = "Copyright © 2020 Florian Spieß" } } @@ -226,7 +222,7 @@ jreleaser { } } - signing { + signing.pgp { active = Active.RELEASE armored = true } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d2dbcf5..f6583de 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,17 +1,17 @@ [versions] -jda = "6.0.0" -kotlin = "2.2.10" +jda = "6.2.0" +kotlin = "2.3.0" [libraries] coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2" jda = { module = "net.dv8tion:JDA", version.ref = "jda" } kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } -logback = "ch.qos.logback:logback-classic:1.5.18" +logback = "ch.qos.logback:logback-classic:1.5.23" webhooks = "club.minnced:discord-webhooks:0.8.4" [plugins] detekt = "io.gitlab.arturbosch.detekt:1.23.8" -dokka = "org.jetbrains.dokka:2.0.0" -jreleaser = "org.jreleaser:1.20.0" -version-catalog-update = "nl.littlerobots.version-catalog-update:1.0.0" -versions = "com.github.ben-manes.versions:0.52.0" +dokka = "org.jetbrains.dokka:2.1.0" +jreleaser = "org.jreleaser:1.22.0" +version-catalog-update = "nl.littlerobots.version-catalog-update:1.0.1" +versions = "com.github.ben-manes.versions:0.53.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 48b43d3..bad7c24 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/packages.md b/packages.md index 45370d1..0bdc133 100644 --- a/packages.md +++ b/packages.md @@ -100,7 +100,7 @@ dependencies { # Package dev.minn.jda.ktx.coroutines -Implements extension functions to easily integrate [RestAction](https://ci.dv8tion.net/job/JDA5/javadoc/net/dv8tion/jda/api/requests/RestAction.html), [Task](https://ci.dv8tion.net/job/JDA5/javadoc/net/dv8tion/jda/api/utils/concurrent/Task.html), and [CompletableFuture](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html) into coroutine scopes by adding `await()` for each. +Implements extension functions to easily integrate [RestAction](https://docs.jda.wiki/net/dv8tion/jda/api/requests/RestAction.html), [Task](https://docs.jda.wiki/net/dv8tion/jda/api/utils/concurrent/Task.html), and [CompletableFuture](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html) into coroutine scopes by adding `await()` for each. This also adds any other useful extensions like `Flow` integrations. diff --git a/src/main/kotlin/dev/minn/jda/ktx/interactions/commands/utils.kt b/src/main/kotlin/dev/minn/jda/ktx/interactions/commands/utils.kt index 2a523d2..02e8d4f 100644 --- a/src/main/kotlin/dev/minn/jda/ktx/interactions/commands/utils.kt +++ b/src/main/kotlin/dev/minn/jda/ktx/interactions/commands/utils.kt @@ -22,12 +22,12 @@ import net.dv8tion.jda.api.interactions.commands.OptionType import java.io.File inline fun optionType() = when(T::class.java) { - java.lang.Float::class.java, java.lang.Double::class.java -> OptionType.NUMBER - Integer::class.java, java.lang.Long::class.java, java.lang.Short::class.java, java.lang.Byte::class.java -> OptionType.INTEGER + Float::class.java, Double::class.java -> OptionType.NUMBER + Int::class.java, Long::class.java, Short::class.java, Byte::class.java -> OptionType.INTEGER String::class.java -> OptionType.STRING User::class.java, Member::class.java -> OptionType.USER Role::class.java -> OptionType.ROLE - java.lang.Boolean::class.java -> OptionType.BOOLEAN + Boolean::class.java -> OptionType.BOOLEAN File::class.java, Message.Attachment::class.java -> OptionType.ATTACHMENT else -> when { Channel::class.java.isAssignableFrom(T::class.java) -> OptionType.CHANNEL diff --git a/src/main/kotlin/dev/minn/jda/ktx/interactions/components/utils.kt b/src/main/kotlin/dev/minn/jda/ktx/interactions/components/utils.kt index 93af523..e40daec 100644 --- a/src/main/kotlin/dev/minn/jda/ktx/interactions/components/utils.kt +++ b/src/main/kotlin/dev/minn/jda/ktx/interactions/components/utils.kt @@ -53,10 +53,10 @@ inline fun CommandInteractionPayload.getOption(name: String): T? = w User::class.java -> getOption(name, OptionMapping::getAsUser) as? T Member::class.java -> getOption(name, OptionMapping::getAsMember) as? T Role::class.java -> getOption(name, OptionMapping::getAsRole) as? T - Integer::class.java, Int::class.java -> getOption(name, OptionMapping::getAsInt) as? T - Long::class.java, java.lang.Long::class.java -> getOption(name, OptionMapping::getAsLong) as? T + Int::class.java -> getOption(name, OptionMapping::getAsInt) as? T + Long::class.java -> getOption(name, OptionMapping::getAsLong) as? T Double::class.java -> getOption(name, OptionMapping::getAsDouble) as? T - Boolean::class.java, java.lang.Boolean::class.java -> getOption(name, OptionMapping::getAsBoolean) as? T + Boolean::class.java -> getOption(name, OptionMapping::getAsBoolean) as? T String::class.java -> getOption(name, OptionMapping::getAsString) as? T Message.Attachment::class.java -> getOption(name, OptionMapping::getAsAttachment) as? T IMentionable::class.java -> getOption(name, OptionMapping::getAsMentionable) as? T