atrade/build.gradle.kts

90 lines
3.3 KiB
Plaintext
Raw Permalink Normal View History

2026-01-10 18:16:50 +09:00
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
kotlin("jvm") version "2.0.0"
id("org.jetbrains.compose") version "1.6.11"
kotlin("plugin.compose") version "2.0.0"
kotlin("plugin.serialization") version "2.0.0"
}
group = "com.autotrade"
version = "1.0.0"
repositories {
mavenCentral()
google()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
implementation(compose.desktop.currentOs)
implementation(compose.material)
implementation(compose.materialIconsExtended)
2026-03-13 17:58:19 +09:00
implementation("io.ktor:ktor-client-okhttp-jvm:2.3.11")
2026-01-10 18:16:50 +09:00
// Ktor (Network)
val ktorVersion = "2.3.11"
implementation("io.ktor:ktor-client-cio:$ktorVersion")
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
implementation("io.ktor:ktor-client-logging:${ktorVersion}")
2026-01-13 16:04:25 +09:00
implementation("ch.qos.logback:logback-classic:1.4.11")
2026-01-10 18:16:50 +09:00
// Database (Exposed & SQLite)
// H2 Database (네이티브 라이브러리 없는 순수 자바 DB)
implementation("com.h2database:h2:2.2.224")
2026-01-23 17:05:09 +09:00
// Source: https://mvnrepository.com/artifact/com.microsoft.playwright/playwright
implementation("com.microsoft.playwright:playwright:1.57.0")
2026-01-10 18:16:50 +09:00
implementation("io.ktor:ktor-client-websockets:${ktorVersion}")
// SQL 프레임워크 (Exposed)
val exposedVersion = "0.50.1"
implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-java-time:$exposedVersion") // 날짜 처리를 위해 필수
// Coroutines
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
2026-01-14 15:42:26 +09:00
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.1")
2026-01-21 18:30:03 +09:00
2026-01-22 16:21:18 +09:00
val langchain4jVersion = "1.10.0"
// implementation("dev.langchain4j:langchain4j:$langchain4jVersion")
// implementation("dev.langchain4j:langchain4j-open-ai:$langchain4jVersion")
2026-01-21 18:30:03 +09:00
// llama.cpp 서버가 OpenAI API와 호환되므로 이 라이브러리를 사용합니다.
2026-01-22 16:21:18 +09:00
implementation("dev.langchain4j:langchain4j:${langchain4jVersion}")
implementation("dev.langchain4j:langchain4j-core:${langchain4jVersion}")
implementation("dev.langchain4j:langchain4j-open-ai:${langchain4jVersion}")
implementation("dev.langchain4j:langchain4j-community-lucene:1.10.0-beta18")
2026-01-10 18:16:50 +09:00
}
compose.desktop {
application {
mainClass = "MainKt"
2026-03-04 16:39:21 +09:00
buildTypes.release.proguard {
isEnabled.set(false) // 임시로 false 설정
}
2026-01-10 18:16:50 +09:00
nativeDistributions {
2026-03-20 17:55:27 +09:00
targetFormats(TargetFormat.Dmg, TargetFormat.Exe, TargetFormat.Msi)
2026-01-10 18:16:50 +09:00
packageName = "AutoTradeAI"
2026-03-20 17:55:27 +09:00
2026-01-10 18:16:50 +09:00
macOS {
bundleID = "com.autotrade.ai"
}
2026-03-20 17:55:27 +09:00
// 윈도우 관련 상세 설정 (선택 사항)
windows {
packageVersion = "1.0.0"
shortcut = true // 바탕화면 바로가기 생성
menu = true // 시작 메뉴 등록
}
2026-01-10 18:16:50 +09:00
}
}
}
kotlin {
jvmToolchain(17) // 이 줄이 JDK 17 사용을 강제합니다.
}