From 9a792e20cec0262978802616bee5ce385dc3f035 Mon Sep 17 00:00:00 2001 From: PJ Date: Fri, 17 Apr 2026 22:38:01 +0700 Subject: [PATCH] feat(sidecar): scaffold Kotlin JVM module with Shadow fat JAR Kotlin 2.1.21 (deviation from plan's 1.9, forced by Gradle 9 compatibility), JDK 17 toolchain, application plugin with main entry dev.uatu.sidecar.MainKt. Shadow 9.0.0-rc2 for the fat JAR. Actual gRPC server wires in with task #10. --- sidecar/build.gradle.kts | 28 +++++++++++++++++++ .../src/main/kotlin/dev/uatu/sidecar/Main.kt | 5 ++++ .../test/kotlin/dev/uatu/sidecar/MainTest.kt | 11 ++++++++ 3 files changed, 44 insertions(+) create mode 100644 sidecar/build.gradle.kts create mode 100644 sidecar/src/main/kotlin/dev/uatu/sidecar/Main.kt create mode 100644 sidecar/src/test/kotlin/dev/uatu/sidecar/MainTest.kt diff --git a/sidecar/build.gradle.kts b/sidecar/build.gradle.kts new file mode 100644 index 0000000..031b974 --- /dev/null +++ b/sidecar/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + kotlin("jvm") version "2.1.21" + application + id("com.gradleup.shadow") version "9.0.0-rc2" +} + +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } +} + +kotlin { + jvmToolchain(17) +} + +dependencies { + testImplementation(kotlin("test")) + testImplementation("org.junit.jupiter:junit-jupiter:5.11.3") +} + +application { + mainClass.set("dev.uatu.sidecar.MainKt") +} + +tasks.test { + useJUnitPlatform() +} diff --git a/sidecar/src/main/kotlin/dev/uatu/sidecar/Main.kt b/sidecar/src/main/kotlin/dev/uatu/sidecar/Main.kt new file mode 100644 index 0000000..c34acc4 --- /dev/null +++ b/sidecar/src/main/kotlin/dev/uatu/sidecar/Main.kt @@ -0,0 +1,5 @@ +package dev.uatu.sidecar + +fun main() { + println("uatu-sidecar stub: gRPC server lands in task #10") +} diff --git a/sidecar/src/test/kotlin/dev/uatu/sidecar/MainTest.kt b/sidecar/src/test/kotlin/dev/uatu/sidecar/MainTest.kt new file mode 100644 index 0000000..de43ac4 --- /dev/null +++ b/sidecar/src/test/kotlin/dev/uatu/sidecar/MainTest.kt @@ -0,0 +1,11 @@ +package dev.uatu.sidecar + +import kotlin.test.Test +import kotlin.test.assertTrue + +class MainTest { + @Test + fun mainExists() { + assertTrue(true, "placeholder test — real tests land with DriverService") + } +}