Skip to content

Chore/#4 build logic#9

Open
lyh5427 wants to merge 6 commits into
developfrom
chore/#4-build-logic
Open

Chore/#4 build logic#9
lyh5427 wants to merge 6 commits into
developfrom
chore/#4-build-logic

Conversation

@lyh5427

@lyh5427 lyh5427 commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

🚩 연관 이슈

closed #6

📝 작업 내용

  • build-logic 모듈 구성
    • settings.gradle.ktsincludeBuild("build-logic") 추가
    • Convention Plugin 8종을 composite build로 등록
    • SDK/JVM/Compose/Hilt 등 공통 빌드 설정을 extension 함수로 분리
  • Version Catalog 정리
    • OkHttp, Room 의존성 추가
    • Convention Plugin alias를 libs.versions.toml [plugins] 섹션으로 이동
    • build-logic 컴파일용 AGP/Kotlin/KSP Gradle Plugin 의존성 추가
  • :app 모듈 빌드 스크립트 간소화
    • 기존 70+ 줄의 build.gradle.ktsdminus14.android.application 플러그인 1줄 적용으로 변경

📖 의존성 추가

라이브러리 버전 용도
okhttp 4.12.0 HTTP 클라이언트
logging-interceptor 4.12.0 OkHttp 로깅
room-runtime 2.7.2 로컬 DB
room-ktx 2.7.2 Room Kotlin 확장
room-compiler 2.7.2 Room KSP 컴파일러

🛠️ 컨벤션 플러그인 추가

Plugin ID 적용 대상 설명
dminus14.android.application :app Application + Compose + Hilt + 공통 의존성
dminus14.android.library core, data Android Library + SDK/JVM 공통 설정
dminus14.android.feature feature-* Library + Compose + Hilt + Navigation3
dminus14.android.compose Compose UI 모듈 Compose BOM/UI/Material3 의존성
dminus14.android.hilt DI 필요 모듈 KSP + Hilt plugin + compiler/runtime
dminus14.android.room 로컬 DB 모듈 Room runtime/ktx/compiler
dminus14.android.network API 통신 모듈 Retrofit + OkHttp
dminus14.jvm.library :domain 순수 Kotlin JVM (Java/Kotlin 11)

🤔 사용법

Application 모듈 (:app)

plugins {
    id("dminus14.android.application")
}

Feature 모듈 (:feature-home 등)

plugins {
    id("dminus14.android.feature")
}

Data 모듈 (Network + Room + Hilt)

plugins {
    id("dminus14.android.library")
    id("dminus14.android.hilt")
    id("dminus14.android.network")
    id("dminus14.android.room")
}

Domain 모듈 (순수 Kotlin)

plugins {
    id("dminus14.jvm.library")
}

#참고사항

  • RoomDB는 임시로 추가한 내용으로 LocalDB사용하지 않을 경우 삭제 진행 예정입니다.
  • :data, ':domain` 모듈은 별도 이슈로 등록해 개발 진행하겠습니다.

해당 PR은 #8 과 겹치는 부분이 있어 Conflict 확인하고 리뷰 요청하겠습니다.

@lyh5427 lyh5427 marked this pull request as draft June 26, 2026 04:36
lyh5427 added 2 commits June 26, 2026 13:40
…m-1-Android into chore/#4-build-logic

# Conflicts:
#	app/build.gradle.kts
#	build-logic/build.gradle.kts
#	build-logic/settings.gradle.kts
#	build.gradle.kts
#	gradle/libs.versions.toml
#	settings.gradle.kts
@lyh5427 lyh5427 requested a review from i-meant-to-be June 27, 2026 02:35
@lyh5427 lyh5427 marked this pull request as ready for review June 27, 2026 02:35
@lyh5427

lyh5427 commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator Author

병합 충돌 수정중에 Spotless convention plugin이 app module에 누락되어 CI가 실패해 해당 이슈 수정 완료하였습니다.
참고 부탁드립니다. - 95accd6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CHORE] 린팅 설정

1 participant