-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
343 lines (264 loc) · 12 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'com.google.gms.google-services'
id 'kotlin-kapt'
id 'com.google.dagger.hilt.android'
// Parcelize
id 'kotlin-parcelize'
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
android {
namespace 'com.kwonminseok.busanpartners'
compileSdk 34
defaultConfig {
applicationId "com.kwonminseok.busanpartners"
minSdk 24
targetSdk 34
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "String", "API_KEY", properties['API_KEY']
buildConfigField "String", "MY_TOKEN", properties['MY_TOKEN']
buildConfigField "String", "BUSAN_FESTIVAL_KEY", properties['BUSAN_FESTIVAL_KEY']
buildConfigField "String", "BUSAN_TOURIST_DESTINATION_KEY", properties['BUSAN_TOURIST_DESTINATION_KEY']
buildConfigField "String", "COLLEGE_KEY", properties['COLLEGE_KEY']
buildConfigField "String", "NAVER_CLIENT_ID", properties['NAVER_CLIENT_ID']
buildConfigField "String", "DEEPL_API", properties['DEEPL_API']
buildConfigField "String", "CLOUD_TRANSLATION_KEY", properties['CLOUD_TRANSLATION_KEY']
// 매니페스트에서 사용이 가능하다. 구글맵 같은 경우가 이에 해당한다.
buildConfigField "String", "GUEST_ID_TOKEN", properties['GUEST_ID_TOKEN']
// 키 - 값으로 저장된다.
manifestPlaceholders = [NAVER_CLIENT_ID: properties["NAVER_CLIENT_ID"]]
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
// jvmTarget = '1.8'
jvmTarget = "11"
}
buildFeatures {
viewBinding true
}
buildFeatures {
buildConfig true
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.10"
}
// configurations.all {
// resolutionStrategy {
// force 'org.hamcrest:hamcrest-junit:2.0.0.0'
// }
// }
}
dependencies {
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.11.0'
implementation 'com.google.firebase:firebase-auth-ktx:22.3.1'
implementation 'com.google.firebase:firebase-auth:22.3.1'
implementation 'com.google.firebase:firebase-database-ktx:20.3.1'
implementation 'com.google.firebase:firebase-storage:20.3.0'
implementation 'com.google.firebase:firebase-firestore-ktx:24.10.3'
implementation 'com.google.firebase:firebase-firestore:24.10.3'
implementation 'com.google.firebase:firebase-functions:20.4.0'
implementation 'androidx.annotation:annotation:1.6.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.7.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0'
implementation 'com.google.android.gms:play-services-auth:21.0.0'
implementation 'com.google.firebase:firebase-crashlytics-buildtools:2.9.9'
implementation 'androidx.work:work-runtime-ktx:2.9.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
//
// // Add new dependencies
// implementation "io.getstream:stream-chat-android-ui-components:6.0.2"
// implementation "io.getstream:stream-chat-android-offline:6.0.2"
// implementation "io.getstream:stream-android-push-firebase:1.1.7"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.2"
implementation "androidx.activity:activity-ktx:1.7.2"
implementation "io.coil-kt:coil:2.4.0"
//
// // 페이스북 처럼 처음 이미지 로딩
implementation ("com.facebook.shimmer:shimmer:0.5.0")
//
// 파이어베이스 초기 세팅
// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:32.7.3')
// When using the BoM, don't specify versions in Firebase dependencies
implementation 'com.google.firebase:firebase-analytics'
// Add the dependencies for any other desired Firebase products
// https://firebase.google.com/docs/android/setup#available-libraries
//dagger hilt
implementation "com.google.dagger:hilt-android:2.50"
kapt "com.google.dagger:hilt-compiler:2.50"
// card view
implementation 'androidx.cardview:cardview:1.0.0'
//loading button
implementation("com.github.leandroborgesferreira:loading-button-android:2.3.0")
//navigation
def nav_version = "2.5.2"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
//repeatOnLifeCycler
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.0"
//Android Ktx
implementation "androidx.fragment:fragment-ktx:1.4.1"
//Glide
implementation 'com.github.bumptech.glide:glide:4.16.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
//circular image
implementation 'de.hdodenhof:circleimageview:3.1.0'
//recyclerview
implementation 'androidx.recyclerview:recyclerview:1.3.2'
//retrofit and gson
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
//okhttp
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.5.0'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
//circleindicator
implementation 'me.relex:circleindicator:2.1.6'
//College Authentication
implementation('com.github.in-seo:univcert:master-SNAPSHOT') {
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
//암호화된 sharedPreference
implementation 'androidx.security:security-crypto-ktx:1.1.0-alpha04'
// 로딩 버튼
implementation("com.github.leandroborgesferreira:loading-button-android:2.3.0")
// 네이버 지도 SDK
implementation 'com.naver.maps:map-sdk:3.18.0'
implementation 'com.google.android.gms:play-services-location:21.0.1'
// 24버전 지원 서버시간
implementation 'com.jakewharton.threetenabp:threetenabp:1.3.1'
// 온보딩 페이지 6.1.0 이었다. 참고
implementation 'com.airbnb.android:lottie:6.4.0'
implementation 'com.github.laobie:StatusBarUtil:2aac14c8e8'
//room 라이브러리
def room_version = "2.6.1"
//Room
implementation 'androidx.room:room-runtime:2.6.1'
kapt 'androidx.room:room-compiler:2.6.1'
implementation "androidx.room:room-ktx:2.6.1"
// optional - Paging 3 Integration
implementation "androidx.room:room-paging:$room_version"
// // 기존의 io.getstream 의존성 제거
implementation("io.getstream:stream-chat-android-ui-components:6.0.1") {
// exclude group: 'io.getstream', module: 'stream-chat-android-client'
}
//
////// Stream Chat Offline with exclusion of the duplicated client
implementation("io.getstream:stream-chat-android-offline:6.0.1") {
// exclude group: 'io.getstream', module: 'stream-chat-android-client'
}
//
implementation "io.getstream:stream-chat-android-core:6.0.1"
// implementation 'io.getstream:stream-log:1.1.4'
// implementation 'io.getstream:stream-log-android:1.1.4@aar'
// implementation 'io.getstream:stream-log-android-file:1.1.4@aar'
// Stream Android Push Firebase with exclusion of the duplicated client
implementation("io.getstream:stream-android-push-firebase:1.1.7") {
// exclude group: 'io.getstream', module: 'stream-chat-android-client'
}
// configurations.all {
// resolutionStrategy.force 'io.getstream:stream-chat-android-client:6.0.2'
//// resolutionStrategy.force 'io.getstream:stream-chat-android-ui-components:6.0.3'
//// resolutionStrategy.force 'io.getstream:stream-chat-android-offline:6.0.3'
//
// }
//
//
// // getStream fork한 부분
// implementation fileTree(dir: 'libs', include: ['*.aar'])
// implementation(fileTree(dir: 'libs', include: ['stream-chat-android-client-release.aar']))
// getStream jetpack compose 시험
implementation 'io.getstream:stream-chat-android-compose:6.0.1'
implementation 'io.getstream:stream-chat-android-offline:6.0.1'
implementation 'androidx.compose.material:material-icons-extended:1.6.7'
def composeBom = platform('androidx.compose:compose-bom:2024.04.01')
// def composeBom = platform('androidx.compose:compose-bom:1.9.0')
implementation composeBom
androidTestImplementation composeBom
// Choose one of the following:
// Material Design 3
implementation 'androidx.compose.material3:material3'
// or Material Design 2
implementation 'androidx.compose.material:material'
// or skip Material Design and build directly on top of foundational components
implementation 'androidx.compose.foundation:foundation'
// or only import the main APIs for the underlying toolkit systems,
// such as input and measurement/layout
implementation 'androidx.compose.ui:ui'
// Android Studio Preview support
implementation 'androidx.compose.ui:ui-tooling-preview'
debugImplementation 'androidx.compose.ui:ui-tooling'
// UI Tests
androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
debugImplementation 'androidx.compose.ui:ui-test-manifest'
// Optional - Included automatically by material, only add when you need
// the icons but not the material library (e.g. when using Material3 or a
// custom design system based on Foundation)
implementation 'androidx.compose.material:material-icons-core'
// Optional - Add full set of material icons
implementation 'androidx.compose.material:material-icons-extended'
// Optional - Add window size utils
implementation 'androidx.compose.material3:material3-window-size-class'
// Optional - Integration with activities
implementation 'androidx.activity:activity-compose:1.8.2'
// Optional - Integration with ViewModels
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1'
// Optional - Integration with LiveData
implementation 'androidx.compose.runtime:runtime-livedata'
// Optional - Integration with RxJava
implementation 'androidx.compose.runtime:runtime-rxjava2'
implementation "io.coil-kt:coil-compose:2.1.0"
//showcaseView
implementation 'com.github.faruktoptas:FancyShowCaseView:1.3.5'
// jetpack compose
// Integration with activities
// implementation 'androidx.activity:activity-compose:1.5.1'
// // Compose Material Design
// implementation 'androidx.compose.material:material:1.2.1'
// // Animations
// implementation 'androidx.compose.animation:animation:1.2.1'
// // Tooling support (Previews, etc.)
// implementation 'androidx.compose.ui:ui-tooling:1.2.1'
// // Integration with ViewModels
// implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1'
// // UI Tests
// androidTestImplementation 'androidx.compose.ui:ui-test-junit4:1.2.1'
// deepl 임시 땜빵용
// implementation("moe.micha:deeplkt:0.2.0")
// implementation("io.ktor:ktor-client-cio:1.6.7")
// implementation("io.ktor:ktor-client-core:1.6.7")
// cloud translation api
// implementation('com.google.cloud:google-cloud-translate:2.43.0') {
// exclude group: 'org.threeten', module: 'threetenbp'
// }
}
// Allow references to generated code
kapt {
correctErrorTypes true
}