From 90a1597e3b3e331e3cf305f0bbd573185271c801 Mon Sep 17 00:00:00 2001 From: Darwin D Wu Date: Mon, 26 Feb 2024 21:03:12 -0800 Subject: [PATCH 1/2] attempt to create a new source set and move the ktor routes over --- inngest-core/build.gradle.kts | 25 ++++++++++++++----- .../ktor}/kotlin/com/inngest/ktor/Route.kt | 0 inngest-test-server/build.gradle.kts | 5 ++++ 3 files changed, 24 insertions(+), 6 deletions(-) rename inngest-core/src/{main => adapters/ktor}/kotlin/com/inngest/ktor/Route.kt (100%) diff --git a/inngest-core/build.gradle.kts b/inngest-core/build.gradle.kts index 9f833fba..cd6815ea 100644 --- a/inngest-core/build.gradle.kts +++ b/inngest-core/build.gradle.kts @@ -1,6 +1,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent +group = "com.inngest" description = "Inngest SDK" version = "0.0.1-SNAPSHOT" @@ -13,6 +14,21 @@ repositories { mavenCentral() } +sourceSets { + create("ktor") { + kotlin.srcDir("src/adapters/ktor") + } +} + +// TODO - Move this to share conventions gradle file +java { + toolchain { languageVersion.set(JavaLanguageVersion.of(8)) } + + registerFeature("ktor") { + usingSourceSet(sourceSets["ktor"]) + } +} + dependencies { implementation("com.beust:klaxon:5.5") implementation("com.fasterxml.jackson.core:jackson-core:2.16.1") @@ -20,8 +36,10 @@ dependencies { implementation("com.fasterxml.jackson.core:jackson-databind:2.16.1") implementation("com.squareup.okhttp3:okhttp:4.12.0") - implementation("io.ktor:ktor-server-core:2.3.5") + // ktor adapter + "ktorImplementation"("io.ktor:ktor-server-core:2.3.5") + // tests testImplementation(kotlin("test")) } @@ -83,8 +101,3 @@ tasks.named("test") { ) } } - -// TODO - Move this to share conventions gradle file -java { - toolchain { languageVersion.set(JavaLanguageVersion.of(8)) } -} diff --git a/inngest-core/src/main/kotlin/com/inngest/ktor/Route.kt b/inngest-core/src/adapters/ktor/kotlin/com/inngest/ktor/Route.kt similarity index 100% rename from inngest-core/src/main/kotlin/com/inngest/ktor/Route.kt rename to inngest-core/src/adapters/ktor/kotlin/com/inngest/ktor/Route.kt diff --git a/inngest-test-server/build.gradle.kts b/inngest-test-server/build.gradle.kts index 1319cb35..702fe7f0 100644 --- a/inngest-test-server/build.gradle.kts +++ b/inngest-test-server/build.gradle.kts @@ -18,6 +18,11 @@ repositories { dependencies { api(project(":inngest-core")) + runtimeOnly(project(":inngest-core")) { + capabilities { + requireCapability("com.inngest:inngest-core-ktor") + } + } // Use the Kotlin JUnit 5 integration. testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") From 711d07fbc979074500e4c53371a128bd09360a5c Mon Sep 17 00:00:00 2001 From: Darwin D Wu Date: Tue, 27 Feb 2024 22:35:23 -0800 Subject: [PATCH 2/2] test source sets --- inngest-core/src/adapters/build.gradle.kts | 7 +++++++ .../com.inngest.ktor.kotlin-library-conventions.gradle.kts | 4 ++++ inngest-test-server/build.gradle.kts | 3 +-- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 inngest-core/src/adapters/build.gradle.kts create mode 100644 inngest-core/src/adapters/ktor/kotlin/com.inngest.ktor.kotlin-library-conventions.gradle.kts diff --git a/inngest-core/src/adapters/build.gradle.kts b/inngest-core/src/adapters/build.gradle.kts new file mode 100644 index 00000000..ccf4fe95 --- /dev/null +++ b/inngest-core/src/adapters/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + kotlin("jvm") "1.9.10" +} + +dependencies { + implementation(project(":main")) +} diff --git a/inngest-core/src/adapters/ktor/kotlin/com.inngest.ktor.kotlin-library-conventions.gradle.kts b/inngest-core/src/adapters/ktor/kotlin/com.inngest.ktor.kotlin-library-conventions.gradle.kts new file mode 100644 index 00000000..adeda6e4 --- /dev/null +++ b/inngest-core/src/adapters/ktor/kotlin/com.inngest.ktor.kotlin-library-conventions.gradle.kts @@ -0,0 +1,4 @@ +plugins { + // Apply the java-library plugin for API and implementation separation. + `java-library` +} diff --git a/inngest-test-server/build.gradle.kts b/inngest-test-server/build.gradle.kts index 702fe7f0..f9874f34 100644 --- a/inngest-test-server/build.gradle.kts +++ b/inngest-test-server/build.gradle.kts @@ -17,8 +17,7 @@ repositories { } dependencies { - api(project(":inngest-core")) - runtimeOnly(project(":inngest-core")) { + api(project(":inngest-core")) { capabilities { requireCapability("com.inngest:inngest-core-ktor") }