Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Hilt depencency #23

Merged
merged 4 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# 같이네컷
- Last updated: 2024-08-13
- Last updated: 2024-09-22

## Specification

Expand Down Expand Up @@ -33,16 +33,12 @@
- Labels: 해당하는 라벨 추가 **반드시 하나의 라벨만 추가할 것**
- Projects: 기입 X
- Milestone: 기입 X
- Rebase로 merge **Squash 금지!!**

## Code Review Rules
- PR 요청 후, slack에 리뷰 요청
- 리뷰에 대한 comment는 반드시 해당 PR에 comment로 남기고 다른 채널에서는 진행하지 않는다

## Dependencies
- 프로젝트 및 관련 버전은 libs.versions.toml 에서 관리
- 기타 의존성은 사용한 모듈에서 관리

## TODO
- 기본적인 모듈 + Manifest 설정 추가 후 커밋
- 모듈간 의존성 추가 커밋
- 샘플코드 + Hilt 추가 후 커밋
- 기타 의존성은 사용한 모듈에서 관리
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

불필요한 TODO 제거 및 날짜 업데이트 했습니다.

2 changes: 2 additions & 0 deletions app/src/main/java/com/foke/together/MainApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package com.foke.together

import android.app.Application
import com.foke.together.util.AppLog
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class MainApplication: Application() {
override fun onCreate() {
super.onCreate()
Expand Down
35 changes: 32 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.jetbrains.kotlin.android) apply false
alias(libs.plugins.android.library) apply false

alias(libs.plugins.hilt) apply false
alias(libs.plugins.kotlin.kapt) apply false
}

subprojects {
Expand Down Expand Up @@ -46,15 +49,20 @@ subprojects {
getByName("debug") {
isMinifyEnabled = false
isShrinkResources = false
// TODO: signing
signingConfig = signingConfigs.getByName("debug")

}
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
// TODO: need to resolve for Hilt R8 error and change to `true`
isMinifyEnabled = false
isShrinkResources = false

proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
// TODO: change to release keystore
signingConfig = signingConfigs.getByName("debug")
}
}
}
Expand All @@ -74,8 +82,29 @@ subprojects {
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
// TODO: change to release keystore
signingConfig = signingConfigs.getByName("debug")
}
}
}
}

plugins.withId("org.jetbrains.kotlin.android") {
apply(plugin = "kotlin-kapt")
apply(plugin = "dagger.hilt.android.plugin")

dependencies {
add("implementation", libs.hilt)
add("kapt", libs.hilt.compiler)
}

configure<org.jetbrains.kotlin.gradle.plugin.KaptExtension> {
correctErrorTypes = true
}
}

configurations.all {
// resolve error of import duplicated "annotations" with "org.jetbrains.annotations
exclude(group = "com.intellij", module = "annotations")
}
}
30 changes: 26 additions & 4 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ agp = "8.5.2"
kotlin = "1.9.20"
coreKtx = "1.13.1"

# kapt -----------
kotlin-kapt = "1.9.20"

# android --------
appcompat = "1.7.0"
composeCompiler = "1.5.5"
Expand All @@ -24,6 +27,11 @@ activityCompose = "1.9.2"
composeBom = "2024.09.02"
material = "1.12.0"

# hilt -----------
hilt = "2.49"
androidx-hilt-compiler = "1.2.0"
androidx-hilt-navigation-compose = "1.2.0"

# test -----------
junit = "4.13.2"
junitVersion = "1.2.1"
Expand All @@ -32,11 +40,10 @@ espressoCore = "3.6.1"


[libraries]
# core -----------
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }

# android --------
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
Expand All @@ -49,10 +56,25 @@ androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-man
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }

# test -----------
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }

# hilt -----------
hilt = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
hilt-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" }
androidx-hilt-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "androidx-hilt-compiler" }
androidx-hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "androidx-hilt-navigation-compose" }



[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
android-library = { id = "com.android.library", version.ref = "agp" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin-kapt"}

# hilt -----------
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt"}
3 changes: 3 additions & 0 deletions presenter/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ dependencies {
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.hilt.compiler)
implementation(libs.androidx.hilt.navigation.compose)

testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.foke.together.presenter.ui.theme.FourCutTogetherTheme
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down