plugins { id 'org.jetbrains.kotlin.jvm' id 'org.jetbrains.kotlin.plugin.serialization' id 'application' } application { mainClass = 'com.correx.apps.tui.TuiAppKt' } repositories { maven { url 'https://central.sonatype.com/repository/maven-snapshots/' mavenContent { snapshotsOnly() } } } configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } dependencies { implementation project(':apps:server') implementation project(':core:events') implementation project(':core:approvals') implementation project(':core:router') implementation "io.ktor:ktor-client-core:$ktor_version" implementation "io.ktor:ktor-client-cio:$ktor_version" implementation "io.ktor:ktor-client-websockets:$ktor_version" implementation "io.ktor:ktor-client-logging:$ktor_version" implementation platform('dev.tamboui:tamboui-bom:0.3.0') implementation 'dev.tamboui:tamboui-tui' implementation 'dev.tamboui:tamboui-widgets' implementation 'dev.tamboui:tamboui-core' runtimeOnly 'dev.tamboui:tamboui-jline3-backend' implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_version" testImplementation "org.jetbrains.kotlin:kotlin-test" testImplementation "org.jetbrains.kotlin:kotlin-test-junit5" testImplementation "org.junit.jupiter:junit-jupiter:5.10.2" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinx_coroutines_version" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.2" } tasks.named('test') { useJUnitPlatform() } tasks.register('tuiStartScripts', CreateStartScripts) { mainClass = 'com.correx.apps.tui.TuiAppKt' applicationName = 'tui' outputDir = file("$buildDir/scripts-tui") classpath = tasks.named('startScripts').get().classpath } distributions.named('main').configure { contents { from(tasks.named('tuiStartScripts')) { into 'bin' } } } tasks.withType(Tar).configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } tasks.withType(Zip).configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } tasks.named("installDist") { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } configurations.configureEach { resolutionStrategy.force( "com.github.ajalt.mordant:mordant:2.6.0", "com.github.ajalt.mordant:mordant-jvm:2.6.0" ) } tasks.named("koverVerify").configure { enabled = false }