Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions build-logic/build.gradle.kts

This file was deleted.

17 changes: 0 additions & 17 deletions build-logic/settings.gradle.kts

This file was deleted.

15 changes: 0 additions & 15 deletions build-logic/src/main/kotlin/io/casper/build/TestClass.kt

This file was deleted.

59 changes: 16 additions & 43 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,58 +1,31 @@
plugins {
kotlin("jvm") version "1.9.23"
id("org.jlleitschuh.gradle.ktlint").version("12.1.1")
id("io.gitlab.arturbosch.detekt") version "1.23.6"
id("casper.documentation-convention")
kotlin(Plugins.KOTLIN_JVM) version PluginVersions.KOTLIN_VERSION
id(Plugins.KTLINT) version(PluginVersions.KTLINT_VERSION)
id(Plugins.CASPER_CONVENTION) version(Plugins.CASPER_CONVENTION)
}

allprojects {
group = Projects.GROUP
}

// 서브프로젝트 설정
subprojects {
// 서브프로젝트에 공통 설정 적용
apply(plugin = Plugins.JETBRAINS_KOTLIN_JVM)

repositories {
mavenCentral()
}
}

tasks.register("checkAll") {
group = "verification"
description = "모든 모듈(includeBuild 포함)에 대해 check 태스크를 실행합니다"

// 루트 프로젝트의 check 태스크에 의존
dependsOn(tasks.named("check"))

// 모든 서브프로젝트의 check 태스크에 의존
subprojects.forEach { subproject ->
dependsOn(subproject.tasks.matching { it.name.startsWith("check") })
kotlin {
jvmToolchain(17)
}

// build-logic, convention 등 includeBuild 모듈의 check 태스크에 의존
dependsOn(gradle.includedBuilds.map { it.task(":check") })
}

group = "hs.kr.entrydsm"
version = "0.0.1-SNAPSHOT"

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
tasks.withType<Test> {
useJUnitPlatform()
}
}

tasks.withType<Test> {
useJUnitPlatform()
}

detekt {
config.setFrom(files("detekt.yml"))
buildUponDefaultConfig = false // yml에서 설정한 룰만 허용
parallel = true // 병렬 실행으로 성능 최적화
}

tasks.withType<io.gitlab.arturbosch.detekt.Detekt>().configureEach {
reports {
xml.required.set(false)
txt.required.set(false)
}
version = Projects.VERSION

jvmTarget = ("17") // Detekt가 사용하는 JVM 타겟을 Java 17로 지정
kotlin {
jvmToolchain(17)
}
6 changes: 6 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
plugins {
`kotlin-dsl`
}
repositories {
mavenCentral()
}
18 changes: 18 additions & 0 deletions buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
object Dependencies {
//kotlin
const val KOTLIN_REFLECT = "org.jetbrains.kotlin:kotlin-reflect"
const val KOTLIN_TEST = "org.jetbrains.kotlin:kotlin-test"

//springframework
const val SPRING_BOOT_STARTER = "org.springframework.boot:spring-boot-starter"
const val SPRING_BOOT_STARTER_WEB = "org.springframework.boot:spring-boot-starter-web"
const val SPRING_BOOT_STARTER_TEST = "org.springframework.boot:spring-boot-starter-test"
const val SPRING_BOOT_STARTER_ACTUATOR = "org.springframework.boot:spring-boot-starter-actuator"

//jexl
const val APACHE_COMMONS_JEXL = "org.apache.commons:commons-jexl3:${DependencyVersions.APACHE_COMMONS_JEXL_VERSION}"

//junit
const val JUNIT = "org.jetbrains.kotlin:kotlin-test-junit5"
const val JUNIT_PLATFORM_LAUNCHER = "org.junit.platform:junit-platform-launcher"
}
4 changes: 4 additions & 0 deletions buildSrc/src/main/kotlin/DependencyVersions.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
object DependencyVersions {
// JEXL
const val APACHE_COMMONS_JEXL_VERSION = "3.5.0"
}
6 changes: 6 additions & 0 deletions buildSrc/src/main/kotlin/PluginVersions.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
object PluginVersions {
const val KOTLIN_VERSION = "1.9.23"
const val SPRING_BOOT_VERSION = "3.4.4"
const val SPRING_DEPENDENCY_MANAGEMENT_VERSION = "1.1.7"
const val KTLINT_VERSION = "12.1.1"
}
9 changes: 9 additions & 0 deletions buildSrc/src/main/kotlin/Plugins.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
object Plugins {
const val KOTLIN_JVM = "jvm"
const val JETBRAINS_KOTLIN_JVM = "org.jetbrains.kotlin.jvm"
const val KOTLIN_SPRING = "plugin.spring"
const val SPRING_BOOT = "org.springframework.boot"
const val SPRING_DEPENDENCY_MANAGEMENT = "io.spring.dependency-management"
const val KTLINT = "org.jlleitschuh.gradle.ktlint"
const val CASPER_CONVENTION = "casper.documentation-convention"
}
7 changes: 7 additions & 0 deletions buildSrc/src/main/kotlin/Projects.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
object Projects {
const val GROUP = "hs.kr.entrydsm"
const val VERSION = "0.0.1"
const val APPLICATION_DOMAIN_VERSION = "0.0.1"
const val APPLICATION_INFRASTRUCTURE_VERSION = "0.0.1"
}

21 changes: 5 additions & 16 deletions casper-application-domain/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,22 +1,11 @@
plugins {
kotlin("jvm")
id("casper.documentation-convention") // 명시적으로 플러그인 적용
kotlin(Plugins.KOTLIN_JVM) version PluginVersions.KOTLIN_VERSION
}

group = "hs.kr.casper.entrydsm"
version = "0.0.1-SNAPSHOT"

repositories {
mavenCentral()
}
version = Projects.APPLICATION_DOMAIN_VERSION

dependencies {
testImplementation(kotlin("test"))
}

tasks.test {
useJUnitPlatform()
testImplementation(Dependencies.JUNIT)
testRuntimeOnly(Dependencies.JUNIT_PLATFORM_LAUNCHER)
testImplementation(Dependencies.KOTLIN_TEST)
}
kotlin {
jvmToolchain(17)
}
Loading
Loading