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

[Feature/#866] 오늘의 솝마디 신규 Feature 구현 #867

Merged
merged 35 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5b42fec
feature #866: init project and properties
chattymin Sep 21, 2024
f160e97
feature #866: add designsystem dependencies
chattymin Sep 21, 2024
f5edf6e
feature #866: add img fortune home
chattymin Sep 21, 2024
f2d665b
feature #866: feat navigation
chattymin Sep 21, 2024
256dac4
feature #866: init activity
chattymin Sep 21, 2024
92301e5
feature #866: feat homeScreen
chattymin Sep 21, 2024
f68f59b
feature #866: init FortuneDetailScreen
chattymin Sep 21, 2024
198ae16
feature #866: apply spotlessApply
chattymin Sep 21, 2024
bde6838
feature #866: apply generateBaselineProfile
chattymin Sep 21, 2024
226347f
feature #866: add manifest
chattymin Sep 21, 2024
162245b
feature #866: fix navigation error
chattymin Sep 21, 2024
7e76518
feature #866: apply generatedBaselineProfile
chattymin Sep 21, 2024
746bed2
feature #866: fix space 2->4
chattymin Sep 21, 2024
7ab798c
feature #866: delete enter
chattymin Sep 21, 2024
9b93320
feature #866: delete unused dependencies and plugins
chattymin Sep 21, 2024
89f360b
feature #866: delete unused dependencies and plugins
chattymin Sep 21, 2024
8e00ba5
feature #866: add immutable to composePlugin
chattymin Sep 21, 2024
89430a3
feature #866: apply generatedBaselineProperties
chattymin Sep 21, 2024
f62b23c
feature #866: add paddingValue
chattymin Sep 21, 2024
58316e3
feature #866: feat FortuneTopBar component
chattymin Sep 22, 2024
cd5322a
feature #866: feat FortuneTopBar preview
chattymin Sep 23, 2024
ea238d3
feature #866: feat FortuneTopBar preview
chattymin Sep 23, 2024
5c38463
feature #866: feat FortuneTopBar preview
chattymin Sep 23, 2024
829900c
feature #866: feat CircleShapeBorderButton
chattymin Sep 23, 2024
7ea902f
feature #866: feat FortuneAmuletRoute
chattymin Sep 23, 2024
18135e0
feature #866: feat FortuneAmuletRoute
chattymin Sep 23, 2024
c41ee9c
feature #866: feat FortuneDetail Preview
chattymin Sep 23, 2024
5898e83
feature #866: connect navigation
chattymin Sep 23, 2024
9c86a4d
feature #866: apply spotlessApply
chattymin Sep 23, 2024
59b9b90
feature #866: apply generateBaselineProfile
chattymin Sep 23, 2024
a9734b0
feature #866: separate navGraph
chattymin Sep 23, 2024
c21e81c
feature #866: wrapping AsyncImage to UrlImage
chattymin Sep 23, 2024
53695ef
feature #866: change MainScreen -> FoundationScreen
chattymin Sep 23, 2024
5d2a453
feature #866: apply spotlessApply
chattymin Sep 23, 2024
6b19a2f
feature #866: apply generateBaselineProfile
chattymin Sep 23, 2024
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
271 changes: 136 additions & 135 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,163 +26,164 @@ import com.google.firebase.appdistribution.gradle.firebaseAppDistribution
import java.util.Properties

plugins {
sopt("application")
sopt("test")
sopt("compose")
alias(libs.plugins.google.services)
alias(libs.plugins.crashlytics)
alias(libs.plugins.ktlint)
alias(libs.plugins.secret)
alias(libs.plugins.app.distribution)
alias(libs.plugins.androidx.baselineprofile)
sopt("application")
sopt("test")
sopt("compose")
alias(libs.plugins.google.services)
alias(libs.plugins.crashlytics)
alias(libs.plugins.ktlint)
alias(libs.plugins.secret)
alias(libs.plugins.app.distribution)
alias(libs.plugins.androidx.baselineprofile)
}

val properties = Properties().apply {
load(rootProject.file("local.properties").inputStream())
load(rootProject.file("local.properties").inputStream())
}

android {
namespace = "org.sopt.official"
namespace = "org.sopt.official"

defaultConfig {
versionCode = libs.versions.versionCode.get().toInt()
versionName = libs.versions.appVersion.get()
applicationId = "org.sopt.official"
defaultConfig {
versionCode = libs.versions.versionCode.get().toInt()
versionName = libs.versions.appVersion.get()
applicationId = "org.sopt.official"

if (project.hasProperty("dev")) {
versionNameSuffix = "-Dev"
}

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
if (project.hasProperty("dev")) {
versionNameSuffix = "-Dev"
}

signingConfigs {
getByName("debug") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storeFile = File("${project.rootDir.absolutePath}/keystore/debug.keystore")
storePassword = "android"
}
create("release") {
keyAlias = properties.getProperty("keyAlias")
keyPassword = properties.getProperty("keyPassword")
storeFile = File("${project.rootDir.absolutePath}/keystore/releaseKey.jks")
storePassword = "soptandroid"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
}

buildTypes {
val debug by getting {
applicationIdSuffix = ".debug"
firebaseAppDistribution {
artifactType = "APK"
groups = "app-team"
}
}
val release by getting {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
signingConfig = signingConfigs.getByName("release")

signingConfigs {
getByName("debug") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storeFile = File("${project.rootDir.absolutePath}/keystore/debug.keystore")
storePassword = "android"
}
create("release") {
keyAlias = properties.getProperty("keyAlias")
keyPassword = properties.getProperty("keyPassword")
storeFile = File("${project.rootDir.absolutePath}/keystore/releaseKey.jks")
storePassword = "soptandroid"
}
}
val benchmark by creating {
initWith(release)
matchingFallbacks.add("release")
signingConfig = signingConfigs.getByName("debug")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
isMinifyEnabled = true
isDebuggable = false

buildTypes {
val debug by getting {
applicationIdSuffix = ".debug"
firebaseAppDistribution {
artifactType = "APK"
groups = "app-team"
}
}
val release by getting {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
signingConfig = signingConfigs.getByName("release")
}
val benchmark by creating {
initWith(release)
matchingFallbacks.add("release")
signingConfig = signingConfigs.getByName("debug")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
isMinifyEnabled = true
isDebuggable = false
}
}
}
applicationVariants.all {
val variant = this
kotlin {
sourceSets {
getByName(variant.name) {
kotlin.srcDir("build/generated/ksp/${variant.name}/kotlin")
applicationVariants.all {
val variant = this
kotlin {
sourceSets {
getByName(variant.name) {
kotlin.srcDir("build/generated/ksp/${variant.name}/kotlin")
}
}
}
}
}
}
}

dependencies {
implementation(projects.core.designsystem)
implementation(projects.domain.soptamp)
implementation(projects.domain.mypage)
implementation(projects.domain.poke)
implementation(projects.domain.notification)
implementation(projects.feature.soptamp)
implementation(projects.data.soptamp)
implementation(projects.data.mypage)
implementation(projects.data.poke)
implementation(projects.data.notification)
implementation(projects.core.common)
implementation(projects.core.analytics)
implementation(projects.core.network)
implementation(projects.core.auth)
implementation(projects.core.authimpl)
implementation(projects.core.webview)
implementation(projects.feature.auth)
implementation(projects.feature.mypage)
implementation(projects.feature.poke)
implementation(projects.feature.notification)
baselineProfile(projects.baselineprofile)

implementation(libs.kotlin.coroutines.google.play)
implementation(platform(libs.compose.bom))
implementation(libs.bundles.compose)
implementation(libs.startup)
implementation(libs.swipe.refresh.layout)

implementation(libs.inappupdate)

implementation(platform(libs.okhttp.bom))
implementation(libs.bundles.okhttp)

implementation(libs.bundles.compose)

implementation(platform(libs.firebase))
implementation(libs.bundles.firebase)
implementation(libs.process.phoenix)

implementation(libs.compose.destination.core)
implementation(libs.androidx.lifecycle.process)
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.fragment.ktx)

androidTestImplementation(platform(libs.compose.bom))
androidTestImplementation(libs.bundles.compose.test)
androidTestImplementation(libs.bundles.android.test)
debugImplementation(libs.bundles.compose.android.test)

implementation(libs.coil.core)
implementation(libs.profileinstaller)
implementation(libs.firebase.messaging.lifecycle.ktx)
implementation(projects.core.designsystem)
implementation(projects.domain.soptamp)
implementation(projects.domain.mypage)
implementation(projects.domain.poke)
implementation(projects.domain.notification)
implementation(projects.feature.soptamp)
implementation(projects.data.soptamp)
implementation(projects.data.mypage)
implementation(projects.data.poke)
implementation(projects.data.notification)
implementation(projects.core.common)
implementation(projects.core.analytics)
implementation(projects.core.network)
implementation(projects.core.auth)
implementation(projects.core.authimpl)
implementation(projects.core.webview)
implementation(projects.feature.auth)
implementation(projects.feature.mypage)
implementation(projects.feature.poke)
implementation(projects.feature.notification)
implementation(projects.feature.fortune)
chattymin marked this conversation as resolved.
Show resolved Hide resolved
baselineProfile(projects.baselineprofile)

implementation(libs.kotlin.coroutines.google.play)
implementation(platform(libs.compose.bom))
implementation(libs.bundles.compose)
implementation(libs.startup)
implementation(libs.swipe.refresh.layout)

implementation(libs.inappupdate)

implementation(platform(libs.okhttp.bom))
implementation(libs.bundles.okhttp)

implementation(libs.bundles.compose)

implementation(platform(libs.firebase))
implementation(libs.bundles.firebase)
implementation(libs.process.phoenix)

implementation(libs.compose.destination.core)
implementation(libs.androidx.lifecycle.process)
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.fragment.ktx)

androidTestImplementation(platform(libs.compose.bom))
androidTestImplementation(libs.bundles.compose.test)
androidTestImplementation(libs.bundles.android.test)
debugImplementation(libs.bundles.compose.android.test)

implementation(libs.coil.core)
implementation(libs.profileinstaller)
implementation(libs.firebase.messaging.lifecycle.ktx)
}

secrets {
defaultPropertiesFileName = "secrets.defaults.properties"
defaultPropertiesFileName = "secrets.defaults.properties"

ignoreList.add("sdk.*")
ignoreList.add("sdk.*")
}

ktlint {
android.set(true)
debug.set(true)
coloredOutput.set(true)
verbose.set(true)
outputToConsole.set(true)
version.set("1.2.1")
filter {
exclude { projectDir.toURI().relativize(it.file.toURI()).path.contains("/generated/") }
exclude { it.file.name.contains("gradle") }
}
android.set(true)
debug.set(true)
coloredOutput.set(true)
verbose.set(true)
outputToConsole.set(true)
version.set("1.2.1")
filter {
exclude { projectDir.toURI().relativize(it.file.toURI()).path.contains("/generated/") }
exclude { it.file.name.contains("gradle") }
}
}
4 changes: 4 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@
android:name=".feature.notification.SchemeActivity"
android:exported="true"
android:launchMode="singleTop" />
<activity
android:name=".feature.fortune.FortuneActivity"
android:exported="true"
android:launchMode="singleTop" />
Comment on lines +147 to +150
Copy link
Member Author

Choose a reason for hiding this comment

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

exported="true" 로 해둔 이유는 추후 앱 알림을 클릭시 해당 화면으로 이동시킬 예정이어서 그렇습니다 :)


<service
android:name=".config.messaging.SoptFirebaseMessagingService"
Expand Down
Loading