From 140c7a7bfaf620266b8249b562b6b4404e8fc67b Mon Sep 17 00:00:00 2001 From: Jorrit Siebelink Date: Tue, 25 Mar 2025 11:10:32 +0100 Subject: [PATCH 1/4] Upgrade to Kotlin 2.1.10. --- .github/workflows/maven-publish.yml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- kgraphql-example/build.gradle.kts | 2 +- kgraphql-ktor/build.gradle.kts | 4 ++-- kgraphql/build.gradle.kts | 2 +- .../src/main/kotlin/com/apurebase/kgraphql/request/Lexer.kt | 2 +- .../apurebase/kgraphql/schema/directive/DirectiveLocation.kt | 4 ++-- .../com/apurebase/kgraphql/integration/BaseSchemaTest.kt | 2 +- .../introspection/DeprecationSpecificationTest.kt | 2 +- .../introspection/DocumentationSpecificationTest.kt | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index 7ca08712..2a2c0aee 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -16,7 +16,7 @@ jobs: - name: Publish uses: eskatos/gradle-command-action@v1 with: - gradle-version: 7.5.1 + gradle-version: 7.6.3 arguments: publish --stacktrace env: sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8fad3f5a..609ab8e6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/kgraphql-example/build.gradle.kts b/kgraphql-example/build.gradle.kts index 214b7864..a95fb04d 100644 --- a/kgraphql-example/build.gradle.kts +++ b/kgraphql-example/build.gradle.kts @@ -1,7 +1,7 @@ plugins { base application - kotlin("jvm") version "1.8.0" + kotlin("jvm") version "2.1.10" id("org.jetbrains.dokka") version "1.7.20" signing } diff --git a/kgraphql-ktor/build.gradle.kts b/kgraphql-ktor/build.gradle.kts index 4ad4bbb4..5007c165 100644 --- a/kgraphql-ktor/build.gradle.kts +++ b/kgraphql-ktor/build.gradle.kts @@ -1,7 +1,7 @@ plugins { base - kotlin("jvm") version "1.8.0" - kotlin("plugin.serialization") version "1.8.0" + kotlin("jvm") version "2.1.10" + kotlin("plugin.serialization") version "2.1.10" id("org.jetbrains.dokka") version "1.7.20" signing } diff --git a/kgraphql/build.gradle.kts b/kgraphql/build.gradle.kts index 1afee05c..bb93dd7c 100644 --- a/kgraphql/build.gradle.kts +++ b/kgraphql/build.gradle.kts @@ -1,7 +1,7 @@ plugins { base - kotlin("jvm") version "1.8.0" + kotlin("jvm") version "2.1.10" id("org.jetbrains.dokka") version "1.7.20" signing } diff --git a/kgraphql/src/main/kotlin/com/apurebase/kgraphql/request/Lexer.kt b/kgraphql/src/main/kotlin/com/apurebase/kgraphql/request/Lexer.kt index 5673ec40..e639a242 100644 --- a/kgraphql/src/main/kotlin/com/apurebase/kgraphql/request/Lexer.kt +++ b/kgraphql/src/main/kotlin/com/apurebase/kgraphql/request/Lexer.kt @@ -542,7 +542,7 @@ data class Lexer( for (i in hex.length..3) { append('0') } - append(hex.toUpperCase()) + append(hex.uppercase()) } } append("\"") diff --git a/kgraphql/src/main/kotlin/com/apurebase/kgraphql/schema/directive/DirectiveLocation.kt b/kgraphql/src/main/kotlin/com/apurebase/kgraphql/schema/directive/DirectiveLocation.kt index 5b5d0c35..a74e24eb 100644 --- a/kgraphql/src/main/kotlin/com/apurebase/kgraphql/schema/directive/DirectiveLocation.kt +++ b/kgraphql/src/main/kotlin/com/apurebase/kgraphql/schema/directive/DirectiveLocation.kt @@ -11,8 +11,8 @@ enum class DirectiveLocation { INLINE_FRAGMENT; companion object { - fun from(str: String) = str.toLowerCase().let { lowered -> - values().firstOrNull { it.name.toLowerCase() == lowered } + fun from(str: String) = str.lowercase().let { lowered -> + values().firstOrNull { it.name.lowercase() == lowered } } } } diff --git a/kgraphql/src/test/kotlin/com/apurebase/kgraphql/integration/BaseSchemaTest.kt b/kgraphql/src/test/kotlin/com/apurebase/kgraphql/integration/BaseSchemaTest.kt index bf0fc705..bcc023e3 100644 --- a/kgraphql/src/test/kotlin/com/apurebase/kgraphql/integration/BaseSchemaTest.kt +++ b/kgraphql/src/test/kotlin/com/apurebase/kgraphql/integration/BaseSchemaTest.kt @@ -240,7 +240,7 @@ abstract class BaseSchemaTest { ignore = true } transformation(Scenario::content) { content : String, uppercase: Boolean? -> - if(uppercase == true) content.toUpperCase() else content + if(uppercase == true) content.uppercase() else content } } val favouriteID = unionType("Favourite") { diff --git a/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DeprecationSpecificationTest.kt b/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DeprecationSpecificationTest.kt index db578fb1..e215afd4 100644 --- a/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DeprecationSpecificationTest.kt +++ b/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DeprecationSpecificationTest.kt @@ -75,7 +75,7 @@ class DeprecationSpecificationTest { property("add"){ description = expectedDescription deprecate(expected) - resolver{ (content) -> content.toUpperCase() } + resolver{ (content) -> content.uppercase() } } } } diff --git a/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DocumentationSpecificationTest.kt b/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DocumentationSpecificationTest.kt index 273364f1..684bcaef 100644 --- a/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DocumentationSpecificationTest.kt +++ b/kgraphql/src/test/kotlin/com/apurebase/kgraphql/specification/introspection/DocumentationSpecificationTest.kt @@ -103,7 +103,7 @@ class DocumentationSpecificationTest { type{ property("add"){ description = expected - resolver{ (content) -> content.toUpperCase() } + resolver{ (content) -> content.uppercase() } } } } From 05ba42ae860fe683cd73184e995797a95f8d21f4 Mon Sep 17 00:00:00 2001 From: Jorrit Siebelink Date: Wed, 26 Mar 2025 09:56:51 +0100 Subject: [PATCH 2/4] Bump KGraphQl version. --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 73038c1b..b7bf8120 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # KGraphQL version -version=0.19.0 +version=0.20.0 # Dependencies coroutine_version=1.6.4 From b971b8405e81a79fcae2cdd5ed320527fbbae550 Mon Sep 17 00:00:00 2001 From: Jorrit Siebelink Date: Thu, 27 Mar 2025 11:27:03 +0100 Subject: [PATCH 3/4] Bump ktor version to 3.0.3 . --- gradle.properties | 2 +- .../com/apurebase/kgraphql/KtorFeature.kt | 2 +- .../kgraphql/KtorConfigurationTest.kt | 23 ++++++++++++------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/gradle.properties b/gradle.properties index b7bf8120..73234647 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ caffeine_version=3.1.2 serialization_version=1.4.1 kDataLoader_version=0.5.1 deferredJsonBuilder_version=1.0.0 -ktor_version=2.2.2 +ktor_version=3.0.3 # Test-Dependencies kotlin_html_version=0.7.5 diff --git a/kgraphql-ktor/src/main/kotlin/com/apurebase/kgraphql/KtorFeature.kt b/kgraphql-ktor/src/main/kotlin/com/apurebase/kgraphql/KtorFeature.kt index b84ee669..4378d89a 100644 --- a/kgraphql-ktor/src/main/kotlin/com/apurebase/kgraphql/KtorFeature.kt +++ b/kgraphql-ktor/src/main/kotlin/com/apurebase/kgraphql/KtorFeature.kt @@ -94,7 +94,7 @@ class GraphQL(val schema: Schema) { config.wrapWith?.invoke(this, routing) ?: routing(this) } - pipeline.pluginOrNull(Routing)?.apply(routing) ?: pipeline.install(Routing, routing) + pipeline.pluginOrNull(RoutingRoot)?.apply(routing) ?: pipeline.install(RoutingRoot, routing) pipeline.intercept(ApplicationCallPipeline.Monitoring) { try { diff --git a/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt b/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt index 55686598..b8a5a09e 100644 --- a/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt +++ b/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt @@ -2,6 +2,7 @@ package com.apurebase.kgraphql import com.apurebase.kgraphql.schema.execution.Executor import io.ktor.server.application.install +import io.ktor.server.application.plugin import io.ktor.server.testing.* import org.amshove.kluent.shouldBeEqualTo import org.junit.jupiter.api.Test @@ -11,24 +12,30 @@ class KtorConfigurationTest: KtorTest() { @Test fun `default configuration should`() { var checked = false - withTestApplication({ - val config = install(GraphQL) {} + testApplication { + install(GraphQL) {} + application { + val plugin = plugin(GraphQL) + plugin.schema.configuration.executor shouldBeEqualTo Executor.Parallel + } checked = true - config.schema.configuration.executor shouldBeEqualTo Executor.Parallel - }) {} + } checked shouldBeEqualTo true } @Test fun `update configuration`() { var checked = false - withTestApplication({ - val config = install(GraphQL) { + testApplication { + install(GraphQL) { executor = Executor.DataLoaderPrepared } + application { + val plugin = plugin(GraphQL) + plugin.schema.configuration.executor shouldBeEqualTo Executor.DataLoaderPrepared + } checked = true - config.schema.configuration.executor shouldBeEqualTo Executor.DataLoaderPrepared - }) {} + } checked shouldBeEqualTo true } From ab65125b321561180bfbf577ffb5f9a124f4e902 Mon Sep 17 00:00:00 2001 From: Jorrit Siebelink Date: Thu, 27 Mar 2025 11:29:10 +0100 Subject: [PATCH 4/4] Remove unused dependency. --- .../test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt b/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt index b8a5a09e..b1199b20 100644 --- a/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt +++ b/kgraphql-ktor/src/test/kotlin/com/apurebase/kgraphql/KtorConfigurationTest.kt @@ -1,7 +1,6 @@ package com.apurebase.kgraphql import com.apurebase.kgraphql.schema.execution.Executor -import io.ktor.server.application.install import io.ktor.server.application.plugin import io.ktor.server.testing.* import org.amshove.kluent.shouldBeEqualTo