corol-server / build.gradle.kts
NitinBot002's picture
Upload 111 files
ddd81fb verified
plugins {
kotlin("jvm") version "2.1.20"
kotlin("plugin.serialization") version "2.1.20"
application
}
application {
mainClass.set("org.coralprotocol.coralserver.MainKt")
}
group = "org.coralprotocol"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
maven {
url = uri("https://central.sonatype.com/repository/maven-snapshots/")
name = "sonatypeSnapshots"
}
maven("https://repo.repsy.io/mvn/chrynan/public")
maven("https://github.com/CaelumF/schema-kenerator/raw/develop/maven-repo")
}
dependencies {
testImplementation(kotlin("test"))
implementation("io.modelcontextprotocol:kotlin-sdk:0.5.0")
implementation("org.slf4j:slf4j-simple:2.0.9")
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1")
implementation("com.charleskorn.kaml:kaml:0.78.0") // YAML serialization
implementation("io.github.pdvrieze.xmlutil:core:0.91.0") // XML serialization
implementation("io.github.pdvrieze.xmlutil:serialization:0.91.0")
implementation("io.github.pdvrieze.xmlutil:core-jdk:0.91.0")
implementation("io.github.pdvrieze.xmlutil:serialization-jvm:0.91.0")
implementation("com.github.docker-java:docker-java:3.5.1")
// Hoplite for configuration
implementation("com.sksamuel.hoplite:hoplite-core:2.9.0")
implementation("com.sksamuel.hoplite:hoplite-yaml:2.9.0")
val ktorVersion = "3.0.2"
implementation(enforcedPlatform("io.ktor:ktor-bom:$ktorVersion"))
implementation("io.ktor:ktor-server-status-pages:${ktorVersion}")
val uriVersion="0.5.0"
implementation("com.chrynan.uri.core:uri-core:$uriVersion")
implementation("com.chrynan.uri.core:uri-ktor-client:$uriVersion")
// Ktor testing dependencies
testImplementation("io.ktor:ktor-server-test-host")
testImplementation("io.ktor:ktor-client-mock")
val arcVersion = "0.126.0"
// Arc agents for E2E tests
testImplementation("org.eclipse.lmos:arc-agents:$arcVersion")
testImplementation("org.eclipse.lmos:arc-mcp:$arcVersion")
testImplementation("org.eclipse.lmos:arc-server:$arcVersion")
testImplementation("org.eclipse.lmos:arc-azure-client:$arcVersion")
testImplementation("org.eclipse.lmos:arc-langchain4j-client:$arcVersion")
testImplementation("io.modelcontextprotocol.sdk:mcp:0.11.0-SNAPSHOT") // Override MCP Java client for Arc 0.126.0
testImplementation("io.mockk:mockk:1.14.2")
// kotest
// TODO: Use kotest for some or all tests
// val kotestVersion = "5.9.1"
// testImplementation("io.kotest:kotest-runner-junit5:$kotestVersion")
// testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
// testImplementation("io.kotest:kotest-property:$kotestVersion")
// Ktor client dependencies
implementation("io.ktor:ktor-client-logging")
implementation("io.ktor:ktor-client-content-negotiation")
implementation("io.ktor:ktor-client-cio-jvm")
implementation("io.ktor:ktor-serialization-kotlinx-json")
implementation("io.ktor:ktor-client-plugins")
implementation("net.pwall.json:json-kotlin-schema:0.56")
// Ktor server dependencies
implementation("io.ktor:ktor-server-core")
implementation("io.ktor:ktor-server-cio")
implementation("io.ktor:ktor-server-sse")
implementation("io.ktor:ktor-server-html-builder")
implementation("io.ktor:ktor-server-cors")
implementation("io.ktor:ktor-server-content-negotiation")
implementation("io.ktor:ktor-server-resources")
testImplementation("io.ktor:ktor-server-core")
testImplementation("io.ktor:ktor-server-cio")
testImplementation("io.ktor:ktor-server-sse")
// TOML serialization
implementation("com.akuleshov7:ktoml-core:0.7.0")
implementation("com.akuleshov7:ktoml-file:0.7.0")
// OpenAPI
val ktorToolsVersion = "5.2.0"
implementation("io.github.smiley4:ktor-openapi:${ktorToolsVersion}")
implementation("io.github.smiley4:ktor-redoc:${ktorToolsVersion}")
val schemaVersion = "2.4.0.1"
implementation("io.github.smiley4:schema-kenerator-core:${schemaVersion}")
implementation("io.github.smiley4:schema-kenerator-serialization:${schemaVersion}")
implementation("io.github.smiley4:schema-kenerator-swagger:${schemaVersion}")
}
tasks.test {
useJUnitPlatform()
}
tasks.jar {
manifest {
attributes["Main-Class"] = "org.coralprotocol.coralserver.MainKt"
}
from(configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it) })
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
exclude("META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA")
}
kotlin {
jvmToolchain(21)
}