Skip to content

Commit ef508f8

Browse files
Merge pull request #8 from EntryDSM/feature/12-fix-global
feature/12-fix-global
2 parents 740fbbc + 075dc8d commit ef508f8

31 files changed

Lines changed: 859 additions & 107 deletions

.editorconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
root = true
2+
3+
[*.kt]
4+
ktlint_standard_package-name = disabled
5+
ktlint_standard_filename = disabled

build-logic/build.gradle.kts

Lines changed: 0 additions & 11 deletions
This file was deleted.

build-logic/settings.gradle.kts

Lines changed: 0 additions & 17 deletions
This file was deleted.

build-logic/src/main/kotlin/io/casper/build/TestClass.kt

Lines changed: 0 additions & 15 deletions
This file was deleted.

build.gradle.kts

Lines changed: 15 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,34 @@
1-
import org.gradle.kotlin.dsl.withType
2-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3-
import kotlin.collections.plus
4-
51
plugins {
6-
kotlin("jvm") version "1.9.23"
7-
kotlin("plugin.spring") version "1.9.23"
8-
id("org.springframework.boot") version "3.4.4"
9-
id("io.spring.dependency-management") version "1.1.7"
10-
id("org.jlleitschuh.gradle.ktlint").version("12.1.1")
11-
id("io.gitlab.arturbosch.detekt") version "1.23.6"
12-
id("casper.documentation-convention")
2+
id(Plugin.KOTLIN_JVM) version PluginVersion.KOTLIN_VERSION apply false
3+
id(Plugin.DETEKT) version PluginVersion.DETEKT_VERSION
4+
id(Plugin.KTLINT) version PluginVersion.KTLINT_VERSION apply false
135
}
146

15-
// 서브프로젝트 설정
167
subprojects {
17-
// 서브프로젝트에 공통 설정 적용
18-
repositories {
19-
mavenCentral()
20-
}
8+
group = "hs.kr.entrydsm"
9+
version = "0.0.1"
10+
11+
apply(plugin = Plugin.KTLINT)
12+
2113
}
2214

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

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

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

35-
// build-logic, convention 등 includeBuild 모듈의 check 태스크에 의존
36-
dependsOn(gradle.includedBuilds.map { it.task(":check") })
37-
}
38-
39-
group = "hs.kr.entrydsm"
40-
version = "0.0.1-SNAPSHOT"
41-
42-
dependencies {
43-
44-
implementation("org.springframework.boot:spring-boot-starter")
45-
implementation("org.jetbrains.kotlin:kotlin-reflect")
46-
testImplementation("org.springframework.boot:spring-boot-starter-test")
47-
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5")
48-
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
49-
}
5024

51-
kotlin {
52-
jvmToolchain(17)
53-
}
54-
55-
tasks.withType<KotlinCompile> {
56-
kotlinOptions {
57-
freeCompilerArgs += "-Xjsr305=strict"
58-
}
59-
}
60-
61-
tasks.withType<Test> {
62-
useJUnitPlatform()
25+
dependsOn(gradle.includedBuilds.map { it.task(":check") })
6326
}
6427

6528
detekt {
6629
config.setFrom(files("detekt.yml"))
67-
buildUponDefaultConfig = false // yml에서 설정한 룰만 허용
68-
parallel = true // 병렬 실행으로 성능 최적화
30+
buildUponDefaultConfig = false
31+
parallel = true
6932
}
7033

7134
tasks.withType<io.gitlab.arturbosch.detekt.Detekt>().configureEach {
@@ -74,5 +37,8 @@ tasks.withType<io.gitlab.arturbosch.detekt.Detekt>().configureEach {
7437
txt.required.set(false)
7538
}
7639

77-
jvmTarget = ("17") // Detekt가 사용하는 JVM 타겟을 Java 17로 지정
40+
jvmTarget = "17"
7841
}
42+
43+
44+

buildSrc/build.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
plugins {
2+
`kotlin-dsl`
3+
}
4+
5+
repositories {
6+
mavenCentral()
7+
}
8+
9+
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
object Dependencies {
2+
// Spring Boot
3+
const val SPRING_BOOT_STARTER = "org.springframework.boot:spring-boot-starter"
4+
const val SPRING_BOOT_STARTER_WEB = "org.springframework.boot:spring-boot-starter-web"
5+
const val SPRING_BOOT_STARTER_DATA_JPA = "org.springframework.boot:spring-boot-starter-data-jpa"
6+
const val SPRING_BOOT_STARTER_DATA_REDIS = "org.springframework.boot:spring-boot-starter-data-redis"
7+
const val SPRING_BOOT_STARTER_SECURITY = "org.springframework.boot:spring-boot-starter-security"
8+
const val SPRING_BOOT_STARTER_VALIDATION = "org.springframework.boot:spring-boot-starter-validation"
9+
const val SPRING_BOOT_STARTER_TEST = "org.springframework.boot:spring-boot-starter-test"
10+
11+
// Kotlin
12+
const val KOTLIN_REFLECT = "org.jetbrains.kotlin:kotlin-reflect"
13+
const val KOTLIN_TEST_JUNIT5 = "org.jetbrains.kotlin:kotlin-test-junit5"
14+
15+
// Database
16+
const val MYSQL_CONNECTOR = "com.mysql:mysql-connector-j"
17+
18+
// JSON
19+
const val JACKSON_MODULE_KOTLIN = "com.fasterxml.jackson.module:jackson-module-kotlin"
20+
const val ORG_JSON = "org.json:json:${DependencyVersion.ORG_JSON}"
21+
22+
// JWT
23+
const val JWT_API = "io.jsonwebtoken:jjwt-api:${DependencyVersion.JWT}"
24+
const val JWT_IMPL = "io.jsonwebtoken:jjwt-impl:${DependencyVersion.JWT}"
25+
const val JWT_JACKSON = "io.jsonwebtoken:jjwt-jackson:${DependencyVersion.JWT}"
26+
27+
// MapStruct
28+
const val MAPSTRUCT = "org.mapstruct:mapstruct:${DependencyVersion.MAPSTRUCT}"
29+
const val MAPSTRUCT_PROCESSOR = "org.mapstruct:mapstruct-processor:${DependencyVersion.MAPSTRUCT}"
30+
31+
// Test
32+
const val JUNIT_PLATFORM_LAUNCHER = "org.junit.platform:junit-platform-launcher"
33+
34+
// gRPC
35+
const val GRPC_NETTY_SHADED = "io.grpc:grpc-netty-shaded:${DependencyVersion.GRPC}"
36+
const val GRPC_PROTOBUF = "io.grpc:grpc-protobuf:${DependencyVersion.GRPC}"
37+
const val GRPC_STUB = "io.grpc:grpc-stub:${DependencyVersion.GRPC}"
38+
const val GRPC_KOTLIN_STUB = "io.grpc:grpc-kotlin-stub:${DependencyVersion.GRPC_KOTLIN}"
39+
const val PROTOBUF_KOTLIN = "com.google.protobuf:protobuf-kotlin:${DependencyVersion.PROTOBUF}"
40+
const val GRPC_TESTING = "io.grpc:grpc-testing:${DependencyVersion.GRPC}"
41+
const val GRPC_SERVER_SPRING_BOOT_STARTER = "net.devh:grpc-server-spring-boot-starter:${DependencyVersion.GRPC_SPRING_BOOT_STARTER}"
42+
43+
44+
//swagger
45+
const val SWAGGER = "org.springdoc:springdoc-openapi-starter-webmvc-ui:${DependencyVersion.SWAGGER}"
46+
47+
// Sentry
48+
const val SENTRY_SPRING_BOOT_STARTER = "io.sentry:sentry-spring-boot-starter-jakarta:${DependencyVersion.SENTRY}"
49+
50+
//resilience4j
51+
const val RESILIENCE4J = "io.github.resilience4j:resilience4j-circuitbreaker:${DependencyVersion.RESILIENCE4J}"
52+
const val RESILIENCE4J_SPRING_BOOT = "io.github.resilience4j:resilience4j-spring-boot3:${DependencyVersion.RESILIENCE4J}"
53+
54+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
object DependencyVersion {
2+
const val KOTLIN = "1.9.25"
3+
const val SPRING_BOOT = "3.4.4"
4+
const val SPRING_DEPENDENCY_MANAGEMENT = "1.1.7"
5+
const val DETEKT = "1.23.6"
6+
const val KTLINT = "12.1.1"
7+
8+
const val JWT = "0.11.5"
9+
const val ORG_JSON = "20230227"
10+
const val MAPSTRUCT = "1.6.0"
11+
12+
const val GRPC = "1.61.1"
13+
const val GRPC_KOTLIN = "1.4.1"
14+
const val PROTOBUF = "3.25.3"
15+
const val GRPC_SPRING_BOOT_STARTER = "3.1.0.RELEASE"
16+
17+
const val SWAGGER = "2.7.0"
18+
19+
const val SENTRY = "7.14.0"
20+
21+
const val RESILIENCE4J = "2.2.0"
22+
}

buildSrc/src/main/kotlin/Plugin.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
object Plugin {
2+
const val KOTLIN_JVM = "org.jetbrains.kotlin.jvm"
3+
const val KOTLIN_SPRING = "org.jetbrains.kotlin.plugin.spring"
4+
const val KOTLIN_KAPT = "org.jetbrains.kotlin.kapt"
5+
const val SPRING_BOOT = "org.springframework.boot"
6+
const val SPRING_DEPENDENCY_MANAGEMENT = "io.spring.dependency-management"
7+
const val DETEKT = "io.gitlab.arturbosch.detekt"
8+
const val KTLINT = "org.jlleitschuh.gradle.ktlint"
9+
const val CASPER_DOCUMENTATION = "casper.documentation-convention"
10+
const val PROTOBUF = "com.google.protobuf"
11+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
object PluginVersion {
2+
const val KOTLIN_VERSION = "1.9.25"
3+
const val SPRING_BOOT_VERSION = "3.4.4"
4+
const val SPRING_DEPENDENCY_MANAGEMENT_VERSION = "1.1.7"
5+
const val DETEKT_VERSION = "1.23.6"
6+
const val KTLINT_VERSION = "12.1.1"
7+
const val PROTOBUF_VERSION = "0.9.4"
8+
}

0 commit comments

Comments
 (0)