
팀 레거시 개선 (1) 쏘카존 관리 시스템
두줄요약
그루비 DSL 기반 멀티모듈 Gradle 스크립트를 Kotlin DSL로 점진적으로 마이그레이션했습니다. 의존성·플러그인 관리 구조를 정리해 가독성과 관리 안정성을 높였습니다.
문제 상황
- 그루비 DSL 기반의 복잡하고 비표준화된 멀티모듈 Gradle 빌드 스크립트
- 신규 개발자의 프로젝트 구성 파악과 일관된 빌드 관리 부담
해결 방법
- 루트
build.gradle부터 문자열·함수 호출·프로퍼티·플러그인 문법을 Kotlin DSL로 점진적 마이그레이션 gradle.properties로 공통 버전을 이동하고 Gradle BOM 및 Spring 관리 의존성으로 버전 명시 축소pluginManagement의 해석 전략과 플러그인 마커 배포로buildscript블록 제거
선택 이유
- Kotlin DSL의 자동완성과 컴파일 시점 문법 오류 확인
- 생태계 관리 버전 활용을 통한 의존성 관리 지점 축소와 안정성 확보
주의할 점
buildscript와plugins블록에서 참조 가능한 프로퍼티 범위 차이- 마커 없는 사내 플러그인의 타입 안전 접근자 및 확장 블록 사용 제약
- 생태계별 관리 의존성 버전의 지속적 확인 필요
