From c2b4c008a845314ebc989327989f158b6aef0a10 Mon Sep 17 00:00:00 2001 From: BuNa <56534241+tmdgh1592@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:54:57 +0900 Subject: [PATCH] =?UTF-8?q?merge:=20crashlytics=20=ED=99=98=EA=B2=BD=20?= =?UTF-8?q?=EA=B5=AC=EC=B6=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: backend-main으로 보내는 PR이 있을 때 새로 빌드를 실행하는 스크립트 추가 * feat: 빌드 하기전 backend-main으로 체크아웃하는 기능 추가 * feat: 깃허브 백엔드 자동 테스트 스크립트 작성 * fix: 인식 안되는 특수문자 제거 * fix: github workflow jdk의 distribution 추가 * chore: fragment-ktx 의존성 추가 * chore: retrofit, okhttp, kotlin-serialization 의존성 추가 * feat: Firebase Crashlytics 환경 설정 Related to : #175 * refactor: 불필요한 import 제거 Related to : #175 --------- Co-authored-by: hong-sile --- android/2023-emmsale/app/build.gradle.kts | 30 +++++++++++++++++++ .../presentation/common/views/ActivityTag.kt | 4 +-- .../presentation/common/views/EventTag.kt | 3 +- android/2023-emmsale/build.gradle.kts | 1 + 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/android/2023-emmsale/app/build.gradle.kts b/android/2023-emmsale/app/build.gradle.kts index 964826b32..d651aa44c 100644 --- a/android/2023-emmsale/app/build.gradle.kts +++ b/android/2023-emmsale/app/build.gradle.kts @@ -1,4 +1,5 @@ import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties +import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension plugins { id("org.jetbrains.kotlin.android") @@ -6,6 +7,7 @@ plugins { id("com.google.gms.google-services") kotlin("plugin.serialization") version "1.8.21" id("kotlin-kapt") + id("com.google.firebase.crashlytics") } android { @@ -31,12 +33,24 @@ android { buildConfig = true } buildTypes { + getByName("debug") { + isMinifyEnabled = true + configure { + mappingFileUploadEnabled = false + } + } + getByName("release") { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) + configure { + nativeSymbolUploadEnabled = true + strippedNativeLibsDir = "$buildDir/ndklibs/obj" + unstrippedNativeLibsDir = "$buildDir/ndklibs/libs" + } } } compileOptions { @@ -49,6 +63,21 @@ android { dataBinding { enable = true } + flavorDimensions += "environment" + productFlavors { + create("staging") { + dimension = "environment" + configure { + mappingFileUploadEnabled = false + } + } + create("prod") { + dimension = "environment" + configure { + mappingFileUploadEnabled = true + } + } + } } fun getApiKey(propertyKey: String): String { @@ -78,6 +107,7 @@ dependencies { implementation(platform("com.google.firebase:firebase-bom:32.2.0")) implementation("com.google.firebase:firebase-analytics-ktx") implementation("com.google.firebase:firebase-messaging-ktx") + implementation("com.google.firebase:firebase-crashlytics-ktx") implementation("com.github.bumptech.glide:glide:4.15.1") } diff --git a/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/ActivityTag.kt b/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/ActivityTag.kt index 039315488..2a3c6dcb7 100644 --- a/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/ActivityTag.kt +++ b/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/ActivityTag.kt @@ -30,9 +30,9 @@ class ActivityTag : AppCompatCheckBox { } fun Fragment.activityChipOf( - block: ActivityTag.() -> Unit + block: ActivityTag.() -> Unit, ): ActivityTag = requireContext().activityChipOf(block) fun Context.activityChipOf( - block: ActivityTag.() -> Unit + block: ActivityTag.() -> Unit, ): ActivityTag = ActivityTag(this).apply(block) diff --git a/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/EventTag.kt b/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/EventTag.kt index 3e06e27ce..e84106c15 100644 --- a/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/EventTag.kt +++ b/android/2023-emmsale/app/src/main/java/com/emmsale/presentation/common/views/EventTag.kt @@ -6,7 +6,6 @@ import android.view.Gravity import androidx.appcompat.widget.AppCompatCheckBox import androidx.core.content.ContextCompat import androidx.core.view.updatePadding -import androidx.fragment.app.Fragment import com.emmsale.R import com.emmsale.presentation.utils.extension.px @@ -31,5 +30,5 @@ class EventTag : AppCompatCheckBox { } fun Context.eventChipOf( - block: EventTag.() -> Unit + block: EventTag.() -> Unit, ): EventTag = EventTag(this).apply(block) diff --git a/android/2023-emmsale/build.gradle.kts b/android/2023-emmsale/build.gradle.kts index 47a5362ca..dda8f155c 100644 --- a/android/2023-emmsale/build.gradle.kts +++ b/android/2023-emmsale/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("com.android.application") version "8.0.2" apply false id("com.android.library") version agpVersion apply false id("com.google.gms.google-services") version "4.3.15" apply false + id("com.google.firebase.crashlytics") version "2.9.7" apply false val kotlinVersion = "1.8.20" kotlin("android") version kotlinVersion apply false