Skip to content

Commit

Permalink
멀티모듈 리팩토링 merge revert (#362)
Browse files Browse the repository at this point in the history
  • Loading branch information
eastshine2741 authored Oct 9, 2024
1 parent 51a54ec commit a0936bd
Show file tree
Hide file tree
Showing 331 changed files with 971 additions and 4,488 deletions.
7 changes: 7 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
root=true
[*.{kt,kts}]
indent_size=4
insert_final_newline=true
max_line_length=off
ij_kotlin_allow_trailing_comma=true
ij_kotlin_allow_trailing_comma_on_call_site=true
10 changes: 8 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,14 @@ jobs:
distribution: 'adopt'
- name: Clean build
run: ./gradlew clean
- name: Check spotless
run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache
- name: Run ktlintDebug
run: ./gradlew ktlintMainSourceSetCheck
- name: Upload ktlint report
uses: actions/upload-artifact@v3
if: failure()
with:
name: ktlint-result
path: ./**/build/reports/ktlint/**/*.html

build:
runs-on: ubuntu-latest
Expand Down
10 changes: 0 additions & 10 deletions .idea/deploymentTargetSelector.xml

This file was deleted.

2 changes: 1 addition & 1 deletion .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 0 additions & 23 deletions .run/spotlessApply.run.xml

This file was deleted.

263 changes: 169 additions & 94 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
import java.util.Properties
import java.io.FileInputStream

plugins {
alias(libs.plugins.snutt.android.application)
alias(libs.plugins.snutt.android.application.compose)
alias(libs.plugins.snutt.android.application.flavors)
alias(libs.plugins.snutt.android.hilt)
alias(libs.plugins.snutt.android.application.firebase)
alias(libs.plugins.snutt.android.application.firebase.app.distribution)
alias(libs.plugins.snutt.semantic.versioning)

// id("dagger.hilt.android.plugin")
// id("kotlin-kapt")
id("com.android.application")
id("kotlin-android")
id("com.google.gms.google-services")
id("org.jlleitschuh.gradle.ktlint-idea")
id("org.jlleitschuh.gradle.ktlint")
id("dagger.hilt.android.plugin")
id("kotlin-kapt")
id("com.google.firebase.appdistribution")
id("com.google.firebase.crashlytics")
}

ktlint {
reporters {
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.PLAIN)
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.HTML)
}
filter {
exclude("**/generated/**")
include("**/java/**")
}
// See https://github.com/pinterest/ktlint/issues/527
disabledRules.addAll("import-ordering", "no-wildcard-imports", "package-name", "argument-list-wrapping")
}

val versionProps = Properties().apply {
load(FileInputStream(File(rootProject.rootDir, "version.properties")))
}

android {
namespace = "com.wafflestudio.snutt2"
compileSdk = 34

defaultConfig {
applicationId = "com.wafflestudio.snutt2"
minSdk = 24
targetSdk = 34
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

signingConfigs {
Expand All @@ -29,105 +56,153 @@ android {
}

buildTypes {
debug {
getByName("debug") {
isDefault = true
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android.txt"))
}

release {
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
signingConfig = signingConfigs.named("release").get()
signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
}
}

flavorDimensions.add("mode")

productFlavors {
create("staging") {
isDefault = true
applicationIdSuffix = ".staging"

val propertyVersionName = versionProps.getProperty("snuttVersionName")
versionCode = SemVer.sementicVersionToSerializedCode(propertyVersionName).toInt()
versionName = propertyVersionName
configure<com.google.firebase.appdistribution.gradle.AppDistributionExtension> {
artifactType = "APK"
testers = "urban"
serviceCredentialsFile = "gcp-service-account-staging.json"
}
}

create("live") {
applicationIdSuffix = ".live"

val propertyVersionName = versionProps.getProperty("snuttVersionName")
versionCode = SemVer.sementicVersionToSerializedCode(propertyVersionName).toInt()
versionName = propertyVersionName
configure<com.google.firebase.appdistribution.gradle.AppDistributionExtension> {
artifactType = "AAB"
serviceCredentialsFile = "gcp-service-account-live.json"
}
}
}

kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = freeCompilerArgs + "-opt-in=kotlin.RequiresOptIn"
}

buildFeatures {
compose = true
viewBinding = true
buildConfig = true
}

composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
}

dependencies {
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.compose.material3.adaptive)
implementation(libs.androidx.compose.material3.adaptive.layout)
implementation(libs.androidx.compose.material3.adaptive.navigation)
implementation(libs.androidx.constraintlayout)
// implementation(libs.androidx.compose.material3.windowSizeClass)
// implementation(libs.androidx.compose.runtime.tracing)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.core.splashscreen)
implementation(libs.androidx.hilt.navigation.compose)
implementation(libs.androidx.lifecycle.runtimeCompose)
implementation(libs.androidx.navigation.compose)
// implementation(libs.androidx.profileinstaller)
// implementation(libs.androidx.tracing.ktx)
// implementation(libs.androidx.window.core)
// implementation(libs.kotlinx.coroutines.guava)
// implementation(libs.coil.kt)

implementation(libs.material)
implementation(libs.moshi)
implementation(libs.moshi.kotlin)

ksp(libs.hilt.compiler)

// TODO: Delete or Move
implementation(libs.androidx.appcompat)
implementation(libs.androidx.paging)
// compileOnly(libs.kotlin.stdlib)
implementation(libs.retrofit.core)
implementation(libs.retrofit.adapter.rxjava3)
implementation(libs.retrofit.converter.moshi)
implementation(libs.okhttp.logging)
implementation(libs.rxjava)
implementation(libs.rxkotlin)
implementation(libs.androidx.compose.runtime)
implementation(libs.androidx.compose.ui.core)
implementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.compose.material.core)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.compose.foundation.layout)
implementation(libs.androidx.compose.runtime.livedata)
implementation(libs.androidx.paging.compose)
implementation(libs.androidx.lifecycle.viewModelCompose)
implementation(libs.androidx.hilt.navigation.compose)
compileOnly(platform(libs.androidx.compose.bom))
implementation(libs.accompanist.pager)
implementation(libs.accompanist.pager.indicators)
implementation(libs.accompanist.navigation.material)
implementation(libs.facebook.login)
implementation(libs.coil.kt.compose)
implementation(libs.licensesdialog)
implementation(libs.timber)
implementation(libs.gson)
implementation(libs.naver.map)
implementation(libs.naver.map.compose)
implementation(libs.naver.map.compose)
implementation(libs.google.id)
implementation(libs.kakao.sdk)
implementation(libs.kakao.sdk.share)
implementation(libs.play.services.auth)

testImplementation("junit:junit:4.13.2")
implementation("androidx.legacy:legacy-support-v4:1.0.0")

implementation(libs.react.android)
implementation(libs.hermes.android)
implementation(fileTree(mapOf("dir" to "../libs", "include" to listOf("*.aar"))))

// FIXME
implementation(libs.firebase.cloud.messaging)
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.analytics)

// temp test
implementation(project(":core:data"))
implementation(project(":core:database"))
implementation(project(":core:qualifiers"))
implementation(project(":core:network"))

// testImplementation("junit:junit:4.13.2")
// implementation("androidx.legacy:legacy-support-v4:1.0.0")
//
// implementation("org.jetbrains.kotlin:kotlin-reflect:${Deps.Version.Kotlin}")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")

implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.9.0")
implementation("org.jetbrains.kotlin:kotlin-stdlib:${Deps.Version.Kotlin}")
implementation("org.jetbrains.kotlin:kotlin-reflect:${Deps.Version.Kotlin}")

// Moshi
implementation("com.squareup.moshi:moshi:${Deps.Version.Moshi}")
implementation("com.squareup.moshi:moshi-kotlin:${Deps.Version.Moshi}")

// Retrofit
implementation("com.squareup.retrofit2:retrofit:${Deps.Version.Retrofit}")
implementation("com.squareup.retrofit2:adapter-rxjava3:${Deps.Version.Retrofit}")
implementation("com.squareup.retrofit2:converter-moshi:${Deps.Version.Retrofit}")
implementation("com.squareup.okhttp3:logging-interceptor:4.9.2")

// RxJava
implementation("io.reactivex.rxjava3:rxjava:${Deps.Version.RxJava}")
implementation("io.reactivex.rxjava3:rxkotlin:${Deps.Version.RxKotlin}")

// Dagger Hilt
implementation("com.google.dagger:hilt-android:${Deps.Version.Hilt}")
kapt("com.google.dagger:hilt-android-compiler:${Deps.Version.Hilt}")

// AAC Navigation
implementation("androidx.navigation:navigation-compose:${Deps.Version.Navigation}")

// Firebase
implementation(platform("com.google.firebase:firebase-bom:28.1.0"))
implementation("com.google.firebase:firebase-messaging-ktx")
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics-ktx")

// Paging
implementation("androidx.paging:paging-runtime-ktx:${Deps.Version.Paging}")

// Compose
implementation("androidx.compose.runtime:runtime:${Deps.Version.Compose}")
implementation("androidx.compose.ui:ui:${Deps.Version.Compose}")
implementation("androidx.compose.ui:ui-tooling:${Deps.Version.Compose}")
implementation("androidx.compose.material:material:${Deps.Version.Compose}")
implementation("androidx.compose.foundation:foundation:${Deps.Version.ComposeFoundation}")
implementation("androidx.compose.foundation:foundation-layout:${Deps.Version.ComposeFoundation}")
implementation("androidx.compose.runtime:runtime-livedata:${Deps.Version.Compose}")
implementation("androidx.paging:paging-compose:${Deps.Version.PagingCompose}")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:${Deps.Version.Lifecycle}")
implementation("androidx.lifecycle:lifecycle-runtime-compose:${Deps.Version.Lifecycle}")
implementation("androidx.hilt:hilt-navigation-compose:1.0.0")

// misc
implementation("androidx.core:core-ktx:1.10.1")
implementation("com.google.accompanist:accompanist-pager:0.20.3")
implementation("com.google.accompanist:accompanist-pager-indicators:0.20.3")
implementation("com.facebook.android:facebook-login:15.0.1")
implementation("de.psdev.licensesdialog:licensesdialog:2.1.0")
implementation("com.github.skydoves:colorpickerview:2.2.3")
implementation("com.jakewharton.timber:timber:5.0.1")
implementation("androidx.core:core-splashscreen:1.0.1")
implementation("com.google.accompanist:accompanist-navigation-material:0.32.0")

// coil
implementation("io.coil-kt:coil-compose:2.1.0")

// GSON
implementation("com.google.code.gson:gson:2.10.1")

// RN
implementation("com.facebook.react:react-android:0.72.3")
implementation("com.facebook.react:hermes-android:0.72.3")
implementation(fileTree(mapOf("dir" to "$rootDir/libs", "include" to listOf("*.aar"))))

// naver map
implementation("com.naver.maps:map-sdk:3.17.0")
implementation("io.github.fornewid:naver-map-compose:1.4.1")

// google login
implementation("com.google.android.gms:play-services-auth:21.1.1")
implementation("com.google.android.libraries.identity.googleid:googleid:1.1.0")

// Kakao SDK
implementation("com.kakao.sdk:v2-share:${Deps.Version.KakaoSDK}")
implementation("com.kakao.sdk:v2-user:${Deps.Version.KakaoSDK}")
}
Loading

0 comments on commit a0936bd

Please sign in to comment.