plugins { id 'org.jetbrains.kotlin.jvm' version '2.2.21' apply false id 'org.jetbrains.kotlin.plugin.spring' version '2.2.21' apply false id 'org.springframework.boot' version '4.0.1' apply false id 'io.spring.dependency-management' version '1.1.7' apply false id 'org.hibernate.orm' version '7.2.0.Final' apply false id 'org.graalvm.buildtools.native' version '0.11.3' apply false id 'org.jetbrains.kotlin.plugin.jpa' version '2.2.21' apply false id 'org.jlleitschuh.gradle.ktlint' version '12.1.1' apply false id 'io.gitlab.arturbosch.detekt' version '1.23.7' apply false } group = 'com.quantbench' version = '0.0.1-SNAPSHOT' description = 'balance' subprojects { apply plugin: 'org.jetbrains.kotlin.jvm' apply plugin: 'io.spring.dependency-management' apply plugin: 'org.jlleitschuh.gradle.ktlint' // detekt는 Kotlin 2.2.21과 호환성 문제가 있어 주석 처리 // Kotlin 2.0.x로 다운그레이드하거나 detekt 최신 버전 출시 시 활성화 // apply plugin: 'io.gitlab.arturbosch.detekt' repositories { mavenCentral() } java { toolchain { languageVersion = JavaLanguageVersion.of(24) } } kotlin { compilerOptions { freeCompilerArgs.addAll '-Xjsr305=strict', '-Xannotation-default-target=param-property' } } dependencies { implementation 'org.jetbrains.kotlin:kotlin-reflect' // detektPlugins 'io.gitlab.arturbosch.detekt:detekt-formatting:1.23.7' } tasks.withType(Test) { useJUnitPlatform() } // ktlint 설정 ktlint { version = '1.4.1' android = false outputToConsole = true coloredOutput = true ignoreFailures = false filter { exclude('**/generated/**') exclude('**/build/**') } } // detekt 설정 (현재 비활성화 - Kotlin 2.2.21과 호환성 문제) // detekt { // buildUponDefaultConfig = true // allRules = false // config.setFrom(files("$rootDir/detekt.yml")) // // baseline은 존재할 때만 사용 // def baselineFile = file("$rootDir/detekt-baseline.xml") // if (baselineFile.exists()) { // baseline = baselineFile // } // ignoreFailures = false // } // tasks.withType(io.gitlab.arturbosch.detekt.Detekt).configureEach { // reports { // html.required = true // xml.required = false // txt.required = false // sarif.required = false // md.required = false // } // } }