Chore/#16 hiltwith module #17
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issue ๐
Work Description โ๏ธ
ํด๋ฆฐ ์ํคํ ์ฒ ๊ธฐ๋ฐ ๋ฉํฐ๋ชจ๋ ๊ตฌ์กฐ
app, core, domain, data, feature ๋ฑ์ ๋ชจ๋ ๊ตฌ์กฐํ
๊ฐ ๋ ์ด์ด๋ณ ์ญํ ๋ถ๋ฆฌ
Gradle ์ปจ๋ฒค์ ํ๋ฌ๊ทธ์ธ
๋น๋ ๋ก์ง ์ฌ์ฌ์ฉ์ ์ํ ํ๋ฌ๊ทธ์ธ ๋ชจ๋ํ
์๋๋ก์ด๋ ์ฑ/๋ผ์ด๋ธ๋ฌ๋ฆฌ, JVM ๋ผ์ด๋ธ๋ฌ๋ฆฌ, Hilt, ๋คํธ์ํฌ ๋ฑ ํ๋ฌ๊ทธ์ธ ๊ตฌํ
๋ฒ์ ์นดํ๋ก๊ทธ๋ฅผ ํตํ ์์กด์ฑ ๊ด๋ฆฌ
Screenshot ๐ธ
๊ตฌํ๋ Gradle ์ปจ๋ฒค์ ํ๋ฌ๊ทธ์ธ ์์ธ ์ ๋ฆฌ
1. AndroidApplicationConventionPlugin
์ฉ๋: ์ฑ ๋ชจ๋์ ๊ธฐ๋ณธ ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
com.android.application: ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๋น๋ ํ๋ฌ๊ทธ์ธorg.jetbrains.kotlin.android: ์ฝํ๋ฆฐ ์๋๋ก์ด๋ ํ๋ฌ๊ทธ์ธandroidx.navigation.safeargs.kotlin: ๋ค๋น๊ฒ์ด์ Safe Args ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ :
์ถ๊ฐํ๋ ์์กด์ฑ:
2. AndroidApplicationComposeConventionPlugin
์ฉ๋: ์ฑ ๋ชจ๋์ Jetpack Compose ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
org.jetbrains.kotlin.plugin.compose: ์ฝํ๋ฆฐ Compose ์ปดํ์ผ๋ฌ ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ :
์ถ๊ฐํ๋ ์์กด์ฑ:
3. AndroidLibraryConventionPlugin
์ฉ๋: ์๋๋ก์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ ๊ธฐ๋ณธ ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
com.android.library: ์๋๋ก์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋น๋ ํ๋ฌ๊ทธ์ธorg.jetbrains.kotlin.android: ์ฝํ๋ฆฐ ์๋๋ก์ด๋ ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ :
์ถ๊ฐํ๋ ์์กด์ฑ:
4. AndroidLibraryComposeConventionPlugin
์ฉ๋: ์๋๋ก์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ Jetpack Compose ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
org.jetbrains.kotlin.plugin.compose: ์ฝํ๋ฆฐ Compose ์ปดํ์ผ๋ฌ ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ :
์ถ๊ฐํ๋ ์์กด์ฑ:
5. JvmLibraryConventionPlugin
์ฉ๋: JVM ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋(์๋๋ก์ด๋๊ฐ ์๋ ์์ ์ฝํ๋ฆฐ/์๋ฐ ๋ชจ๋)์ ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
java-library: ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋น๋ ํ๋ฌ๊ทธ์ธorg.jetbrains.kotlin.jvm: ์ฝํ๋ฆฐ JVM ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ :
์ถ๊ฐํ๋ ์์กด์ฑ: ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์์กด์ฑ์ ์ถ๊ฐํ์ง ์์ต๋๋ค.
6. FeatureConventionPlugin
์ฉ๋: ๊ธฐ๋ฅ ๋ชจ๋์ ์ํ ์ค์ ์ ๋ด๋นํฉ๋๋ค. (๊ฐ ๊ธฐ๋ฅ ํ๋ฉด์ ๋ด๋นํ๋ ๋ชจ๋์ฉ)
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
barrion.android.library: ์๋๋ก์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ปจ๋ฒค์ ํ๋ฌ๊ทธ์ธbarrion.android.library.compose: ์๋๋ก์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ Compose ์ปจ๋ฒค์ ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ : AndroidLibraryConventionPlugin์์ ์์๋ฐ์ ์ค์ ์ฌ์ฉ
์ถ๊ฐํ๋ ์์กด์ฑ:
7. HiltConventionPlugin
์ฉ๋: Dagger Hilt๋ฅผ ํตํ ์์กด์ฑ ์ฃผ์ ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
com.google.devtools.ksp: Kotlin Symbol Processing ํ๋ฌ๊ทธ์ธcom.google.dagger.hilt.android: Dagger Hilt ์๋๋ก์ด๋ ํ๋ฌ๊ทธ์ธorg.jetbrains.kotlin.kapt: ์ฝํ๋ฆฐ Annotation Processing ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ : ์์
์ถ๊ฐํ๋ ์์กด์ฑ:
8. NetworkConventionPlugin
์ฉ๋: ๋คํธ์ํฌ ํต์ ๊ด๋ จ ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ:
org.jetbrains.kotlin.plugin.serialization: ์ฝํ๋ฆฐ ์ง๋ ฌํ ํ๋ฌ๊ทธ์ธ์ฃผ์ ์ค์ : ์์
์ถ๊ฐํ๋ ์์กด์ฑ:
9. ImageLoadingConventionPlugin
์ฉ๋: ์ด๋ฏธ์ง ๋ก๋ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ์ ๋ด๋นํฉ๋๋ค.
์ ์ฉํ๋ ํ๋ฌ๊ทธ์ธ: ์์
์ฃผ์ ์ค์ : ์์
์ถ๊ฐํ๋ ์์กด์ฑ:
๋ฉํฐ๋ชจ๋ ํ๋ก์ ํธ ๊ตฌ์กฐ ํธ๋ฆฌ
์ด ๊ตฌ์กฐ๋ ํด๋ฆฐ ์ํคํ ์ฒ ์์น์ ๋ฐ๋ฅด๋ฉฐ, ๋ ์ด์ด๋ณ๋ก ๋ชจ๋์ด ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค:
๋ํ ๋น๋ ๋ก์ง์ด build-logic/convention ๋ชจ๋๋ก ๋ถ๋ฆฌ๋์ด ์์ด, ๋ชจ๋ ๋ชจ๋์์ ์ผ๊ด๋ ๋น๋ ์ค์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Uncompleted Tasks ๐
To Reviewers ๐ข