Skip to content

Commit 970254f

Browse files
authored
Merge pull request #369 from Runnect/feature/version-catalog
Gradle Version Catalog(libs.versions.toml) 마이그레이션
2 parents c796c9b + 5419d93 commit 970254f

File tree

3 files changed

+336
-179
lines changed

3 files changed

+336
-179
lines changed

app/build.gradle

Lines changed: 87 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,30 @@
11
plugins {
2-
id 'com.android.application'
3-
id 'org.jetbrains.kotlin.android'
4-
2+
alias(libs.plugins.android.application)
3+
alias(libs.plugins.kotlin.android)
54
id 'kotlin-parcelize'
6-
7-
id 'org.jetbrains.kotlin.plugin.serialization' version '2.2.0'
8-
id 'org.jetbrains.kotlin.plugin.compose'
9-
id 'dagger.hilt.android.plugin'
10-
11-
// plugin for ksp (Hilt, Glide)
12-
id 'com.google.devtools.ksp'
13-
14-
// plugin for data binding
5+
alias(libs.plugins.kotlin.serialization)
6+
alias(libs.plugins.kotlin.compose)
7+
alias(libs.plugins.hilt)
8+
alias(libs.plugins.ksp)
159
id 'kotlin-kapt'
16-
17-
// plugin for hiding keys used in manifest
18-
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
19-
20-
// Add the Google services Gradle plugin
21-
id 'com.google.gms.google-services'
22-
23-
// Add the Firebase Crashlytics Gradle plugin
24-
id 'com.google.firebase.crashlytics'
10+
alias(libs.plugins.secrets.gradle.plugin)
11+
alias(libs.plugins.google.services)
12+
alias(libs.plugins.firebase.crashlytics)
2513
}
2614

2715
Properties properties = new Properties()
2816
properties.load(project.rootProject.file('local.properties').newDataInputStream())
2917

3018
android {
3119
namespace 'com.runnect.runnect'
32-
compileSdk 35
20+
compileSdk libs.versions.compileSdk.get().toInteger()
3321

3422
defaultConfig {
3523
applicationId "com.runnect.runnect"
36-
minSdk 28
37-
targetSdk 35
38-
versionCode 26
39-
versionName "2.1.2"
24+
minSdk libs.versions.minSdk.get().toInteger()
25+
targetSdk libs.versions.targetSdk.get().toInteger()
26+
versionCode libs.versions.versionCode.get().toInteger()
27+
versionName libs.versions.versionName.get()
4028

4129
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
4230
buildConfigField "String", "RUNNECT_DEV_URL", properties["RUNNECT_DEV_URL"]
@@ -52,7 +40,6 @@ android {
5240

5341
signingConfigs {
5442
release {
55-
// local.properties에서 키 정보 불러오기
5643
def localProperties = new Properties()
5744
def localPropertiesFile = rootProject.file('local.properties')
5845
if (localPropertiesFile.exists()) {
@@ -69,7 +56,10 @@ android {
6956
buildFeatures {
7057
buildConfig = true
7158
compose true
59+
dataBinding true
60+
viewBinding true
7261
}
62+
7363
buildTypes {
7464
release {
7565
minifyEnabled false
@@ -86,135 +76,76 @@ android {
8676
kotlinOptions {
8777
jvmTarget = '17'
8878
}
89-
90-
buildFeatures {
91-
dataBinding true
92-
viewBinding true
93-
}
9479
}
9580

9681
dependencies {
97-
implementation 'androidx.core:core-ktx:1.9.0'
98-
implementation 'androidx.appcompat:appcompat:1.5.1'
99-
implementation 'com.google.android.material:material:1.8.0'
100-
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
101-
implementation 'androidx.core:core:1.9.0'
102-
implementation 'com.google.firebase:firebase-common-ktx:20.1.0'
103-
implementation 'androidx.preference:preference-ktx:1.2.1'
104-
implementation 'com.google.firebase:firebase-dynamic-links-ktx:21.2.0'
105-
testImplementation 'junit:junit:4.13.2'
106-
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
107-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
108-
109-
def lifecycle_version = "2.5.1"
110-
//ViewModel
111-
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
112-
//LiveData
113-
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
114-
//DataBinding
115-
implementation "androidx.activity:activity-ktx:1.6.1"
116-
//Timber
117-
implementation 'com.jakewharton.timber:timber:5.0.1'
118-
//Coroutine
119-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
120-
//retrofit
121-
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
122-
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1'
123-
implementation 'com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0'
124-
//define a BOM and its version
125-
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.10.0"))
126-
//define any required OkHttp artifacts without version
127-
implementation("com.squareup.okhttp3:okhttp")
128-
implementation("com.squareup.okhttp3:logging-interceptor")
129-
//hilt
130-
implementation "com.google.dagger:hilt-android:$hilt_version"
131-
ksp "com.google.dagger:hilt-compiler:$hilt_version"
132-
// Glide
133-
implementation "com.github.bumptech.glide:glide:4.16.0"
134-
ksp "com.github.bumptech.glide:ksp:4.16.0"
135-
//fragment change
136-
implementation("androidx.fragment:fragment-ktx:1.5.5")
137-
//coil
138-
implementation("io.coil-kt:coil:2.2.2")
139-
140-
//naver map
141-
implementation 'com.naver.maps:map-sdk:3.22.1'
142-
// implementation 'com.google.android.gms:play-services-location:21.0.1'
143-
144-
// Ted Permission - RxJava3
145-
// Normal
146-
implementation 'io.github.ParkSangGwon:tedpermission-normal:3.3.0'
147-
//Location 라이브러리(현재위치)
148-
implementation 'com.google.android.gms:play-services-location:21.3.0'
149-
150-
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
151-
implementation 'com.google.code.gson:gson:2.10.1'
152-
153-
implementation 'com.ssomai:android.scalablelayout:2.1.6'
154-
155-
//google social login
156-
implementation 'com.google.android.gms:play-services-auth:20.4.1'
157-
158-
//recycler view selection
159-
implementation 'androidx.recyclerview:recyclerview:1.3.0'
160-
161-
// EncryptedSharedPreferences
162-
implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03"
163-
164-
// kakao social login
165-
implementation 'com.kakao.sdk:v2-user:2.10.0'
166-
167-
// pull to refresh
168-
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
169-
170-
// view Pager2
171-
implementation "androidx.viewpager2:viewpager2:1.0.0"
172-
implementation 'me.relex:circleindicator:2.1.6'
173-
174-
//Firebase Realtime Database
175-
implementation 'com.google.firebase:firebase-database-ktx'
176-
177-
//Cloud Firestore
178-
implementation 'com.google.firebase:firebase-firestore-ktx'
179-
180-
// Firebase Storage SDK
181-
implementation 'com.google.firebase:firebase-storage-ktx'
182-
183-
// Import the Firebase BoM
184-
implementation platform('com.google.firebase:firebase-bom:31.2.3')
185-
186-
// When using the BoM, don't specify versions in Firebase dependencies
187-
implementation 'com.google.firebase:firebase-analytics-ktx'
188-
189-
//카카오 SDK
190-
implementation "com.kakao.sdk:v2-user:2.15.0" // 카카오 로그인
191-
implementation "com.kakao.sdk:v2-talk:2.15.0" // 친구, 메시지(카카오톡)
192-
implementation "com.kakao.sdk:v2-story:2.15.0" // 카카오스토리
193-
implementation "com.kakao.sdk:v2-link:2.9.0" // 메시지(카카오링크)
194-
implementation "com.kakao.sdk:v2-navi:2.15.0" // 카카오내비
195-
196-
197-
//swipe refresh layout
198-
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
199-
200-
//Skeleton UI
201-
implementation "com.facebook.shimmer:shimmer:0.5.0"
202-
203-
//firebase remote config - update dialog
204-
implementation 'com.google.firebase:firebase-config-ktx'
205-
206-
// Firebase Crashlytics
207-
implementation 'com.google.firebase:firebase-crashlytics-ktx'
208-
209-
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.2'
210-
implementation 'androidx.activity:activity-compose:1.9.0'
211-
implementation platform('androidx.compose:compose-bom:2023.03.00')
212-
implementation 'androidx.compose.ui:ui'
213-
implementation 'androidx.compose.ui:ui-graphics'
214-
implementation 'androidx.compose.ui:ui-tooling-preview'
215-
implementation 'androidx.compose.material3:material3'
216-
androidTestImplementation platform('androidx.compose:compose-bom:2023.03.00')
217-
androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
218-
debugImplementation 'androidx.compose.ui:ui-tooling'
219-
debugImplementation 'androidx.compose.ui:ui-test-manifest'
220-
}
82+
// AndroidX
83+
implementation libs.androidx.core.ktx
84+
implementation libs.androidx.appcompat
85+
implementation libs.androidx.constraintlayout
86+
implementation libs.androidx.activity.ktx
87+
implementation libs.androidx.fragment.ktx
88+
implementation libs.bundles.lifecycle
89+
implementation libs.androidx.recyclerview
90+
implementation libs.androidx.viewpager2
91+
implementation libs.androidx.swiperefreshlayout
92+
implementation libs.androidx.preference.ktx
93+
implementation libs.androidx.security.crypto.ktx
94+
95+
// Compose
96+
implementation platform(libs.compose.bom)
97+
implementation libs.bundles.compose
98+
implementation libs.androidx.activity.compose
99+
debugImplementation libs.bundles.compose.debug
100+
androidTestImplementation platform(libs.compose.bom)
101+
androidTestImplementation libs.compose.ui.test.junit4
102+
103+
// Material
104+
implementation libs.material
105+
106+
// Hilt
107+
implementation libs.hilt.android
108+
ksp libs.hilt.compiler
109+
110+
// Network
111+
implementation platform(libs.okhttp.bom)
112+
implementation libs.bundles.network
113+
114+
// Coroutines
115+
implementation libs.kotlinx.coroutines.android
116+
117+
// Image
118+
implementation libs.glide
119+
ksp libs.glide.ksp
120+
implementation libs.coil
121+
122+
// Firebase
123+
implementation platform(libs.firebase.bom)
124+
implementation libs.bundles.firebase
125+
126+
// Map
127+
implementation libs.naver.map.sdk
128+
implementation libs.play.services.location
129+
130+
// Kakao
131+
implementation libs.bundles.kakao
132+
133+
// Google
134+
implementation libs.play.services.auth
135+
136+
// Logging
137+
implementation libs.timber
138+
139+
// UI
140+
implementation libs.circleindicator
141+
implementation libs.scalablelayout
142+
implementation libs.shimmer
143+
144+
// Permission
145+
implementation libs.tedpermission.normal
146+
147+
// Test
148+
testImplementation libs.junit
149+
androidTestImplementation libs.androidx.junit
150+
androidTestImplementation libs.androidx.espresso.core
151+
}

build.gradle

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
1-
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2-
buildscript {
3-
ext {
4-
hilt_version = '2.56.2'
5-
}
6-
7-
repositories {
8-
google()
9-
}
10-
dependencies {
11-
classpath 'com.google.gms:google-services:4.3.15'
12-
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.6'
13-
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
14-
classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
15-
}
16-
}
17-
181
plugins {
19-
id 'com.android.application' version '8.13.2' apply false
20-
id 'com.android.library' version '8.13.2' apply false
21-
id 'org.jetbrains.kotlin.android' version '2.2.0' apply false
22-
id 'org.jetbrains.kotlin.plugin.compose' version '2.2.0' apply false
23-
id 'com.google.devtools.ksp' version '2.2.0-2.0.2' apply false
24-
}
2+
alias(libs.plugins.android.application) apply false
3+
alias(libs.plugins.android.library) apply false
4+
alias(libs.plugins.kotlin.android) apply false
5+
alias(libs.plugins.kotlin.compose) apply false
6+
alias(libs.plugins.ksp) apply false
7+
alias(libs.plugins.hilt) apply false
8+
alias(libs.plugins.kotlin.serialization) apply false
9+
alias(libs.plugins.google.services) apply false
10+
alias(libs.plugins.firebase.crashlytics) apply false
11+
alias(libs.plugins.secrets.gradle.plugin) apply false
12+
}

0 commit comments

Comments
 (0)