Description
작업 배경
WSS-Server의 Java 코드를 단계적으로 Kotlin으로 전환하려면 기존 Java 코드와 Kotlin 코드가 함께 컴파일되고, Spring 및 JPA 프록시와 QueryDSL 코드 생성이 Kotlin에서도 정상 동작하는 빌드 기반이 먼저 필요하다.
현재 상태
- 프로젝트는 Java 17과 Groovy DSL 기반 Gradle 빌드를 사용한다.
- Kotlin 플러그인과 Kotlin 런타임 의존성이 설정되어 있지 않다.
- QueryDSL Q 타입은 Java annotation processor로만 생성한다.
목표 상태
- Java 17을 기준으로 Java/Kotlin 소스를 함께 컴파일할 수 있다.
- Kotlin으로 작성한 Spring Bean과 JPA 엔티티에 필요한 컴파일러 플러그인이 적용된다.
- Java 및 Kotlin 소스에서 사용하는 QueryDSL Q 타입이 빌드 시 정상 생성된다.
- Kotlin 테스트를 작성하고 JUnit Platform에서 실행할 수 있다.
작업 범위
- Kotlin JVM, Spring, JPA 및 kapt Gradle 플러그인과 버전 설정 추가
- Kotlin reflection, Jackson Kotlin module 및 Kotlin 테스트 의존성 추가
- Java 17과 일치하도록 Kotlin JVM toolchain과 컴파일 옵션 설정
- Kotlin 소스에 대한 QueryDSL annotation processing 설정
- Kotlin 빌드 설정이 실제로 적용되는지 확인하는 최소 테스트 코드 추가
- 기존 Java 빌드 및 테스트와의 호환성 확인
제외 범위
- 기존 Java 프로덕션 코드의 Kotlin 변환
- 패키지 구조 또는 애플리케이션 아키텍처 변경
- API, DB 스키마, 인증·인가 및 배포 설정 변경
- Kotlin 코딩 컨벤션의 전면 정의와 정적 분석 도구 도입
To-Do
Reference
- Spring Boot 3.2.5
- Java 17
Description
작업 배경
WSS-Server의 Java 코드를 단계적으로 Kotlin으로 전환하려면 기존 Java 코드와 Kotlin 코드가 함께 컴파일되고, Spring 및 JPA 프록시와 QueryDSL 코드 생성이 Kotlin에서도 정상 동작하는 빌드 기반이 먼저 필요하다.
현재 상태
목표 상태
작업 범위
제외 범위
To-Do
./gradlew build -x test가 성공한다../gradlew test가 성공한다.Reference