From e13006495067c0d9df3461ac09a0147538a864df Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Fri, 22 Mar 2024 22:40:41 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[add]:=20buildSrc=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=20gradle=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 134 +++++++++++++----- .../com/zucchini/ssuplector/MainActivity.kt | 6 +- build.gradle.kts | 23 ++- buildSrc/build.gradle.kts | 7 + .../java/com/zucchini/buildsrc/Constants.kt | 10 ++ .../com/zucchini/buildsrc/Dependencies.kt | 125 ++++++++++++++++ .../java/com/zucchini/buildsrc/Versions.kt | 56 ++++++++ settings.gradle.kts | 5 +- 8 files changed, 318 insertions(+), 48 deletions(-) create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt create mode 100644 buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt create mode 100644 buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0f869a3..13fac32 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,69 +1,127 @@ +import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties +import com.zucchini.buildsrc.Constants + plugins { id("com.android.application") - id("org.jetbrains.kotlin.android") + kotlin("android") + kotlin("kapt") + id("kotlin-parcelize") + id("dagger.hilt.android.plugin") + id("com.google.android.gms.oss-licenses-plugin") } android { - namespace = "com.zucchini.ssuplector" - compileSdk = 34 + namespace = Constants.packageName + compileSdk = Constants.compileSdk defaultConfig { - applicationId = "com.zucchini.ssuplector" - minSdk = 28 - targetSdk = 34 - versionCode = 1 - versionName = "1.0" + applicationId = Constants.packageName + minSdk = Constants.minSdk + targetSdk = Constants.targetSdk + versionCode = Constants.versionCode + versionName = Constants.versionName testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - vectorDrawables { - useSupportLibrary = true - } + +// buildConfigField( +// "String", +// "NATIVE_APP_KEY", +// gradleLocalProperties(rootDir).getProperty("native.app.key"), +// ) +// manifestPlaceholders["NATIVE_APP_KEY"] = +// gradleLocalProperties(rootDir).getProperty("nativeAppKey") } buildTypes { + debug { +// buildConfigField( +// "String", +// "BASE_URL", +// gradleLocalProperties(rootDir).getProperty("test.base.url") +// ) + } release { +// buildConfigField( +// "String", +// "BASE_URL", +// gradleLocalProperties(rootDir).getProperty("base.url") +// ) isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" + "proguard-rules.pro", ) } } + compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } + kotlinOptions { - jvmTarget = "1.8" + jvmTarget = Versions.jvmVersion } + buildFeatures { + buildConfig = true + dataBinding = true + viewBinding = true compose = true } - composeOptions { - kotlinCompilerExtensionVersion = "1.5.1" - } - packaging { - resources { - excludes += "/META-INF/{AL2.0,LGPL2.1}" - } - } } dependencies { +// implementation(project(":core-ui")) +// implementation(project(":data")) +// implementation(project(":domain")) +// implementation(project(":presentation")) + + KotlinDependencies.run { + implementation(kotlin) + implementation(coroutines) + implementation(jsonSerialization) + } + + AndroidXDependencies.run { + implementation(coreKtx) + implementation(appCompat) + implementation(hilt) + implementation(workManager) + implementation(hiltWorkManager) + } - implementation("androidx.core:core-ktx:1.12.0") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0") - implementation("androidx.activity:activity-compose:1.8.2") - implementation(platform("androidx.compose:compose-bom:2023.08.00")) - implementation("androidx.compose.ui:ui") - implementation("androidx.compose.ui:ui-graphics") - implementation("androidx.compose.ui:ui-tooling-preview") - implementation("androidx.compose.material3:material3") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") - androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00")) - androidTestImplementation("androidx.compose.ui:ui-test-junit4") - debugImplementation("androidx.compose.ui:ui-tooling") - debugImplementation("androidx.compose.ui:ui-test-manifest") + KaptDependencies.run { + kapt(hiltCompiler) + kapt(hiltWorkManagerCompiler) + } + + TestDependencies.run { + testImplementation(jUnit) + androidTestImplementation(androidTest) + androidTestImplementation(espresso) + } + + ThirdPartyDependencies.run { + implementation(platform(okHttpBom)) + implementation(okHttp) + implementation(okHttpLoggingInterceptor) + implementation(retrofit) + implementation(retrofitJsonConverter) + implementation(timber) + implementation(ossLicense) + } + +// KakaoDependencies.run { +// implementation(user) +// implementation(share) +// } + + ComposeDependencies.run { + implementation(composeUi) + implementation(composeMaterial) + implementation(activityCompose) + implementation(material3) + implementation(composeTooling) + } } \ No newline at end of file diff --git a/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt b/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt index 5626cd9..af00155 100644 --- a/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt +++ b/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt @@ -20,7 +20,7 @@ class MainActivity : ComponentActivity() { // A surface container using the 'background' color from the theme Surface( modifier = Modifier.fillMaxSize(), - color = MaterialTheme.colorScheme.background + color = MaterialTheme.colorScheme.background, ) { Greeting("Android") } @@ -33,7 +33,7 @@ class MainActivity : ComponentActivity() { fun Greeting(name: String, modifier: Modifier = Modifier) { Text( text = "Hello $name!", - modifier = modifier + modifier = modifier, ) } @@ -43,4 +43,4 @@ fun GreetingPreview() { SSUPlectorAndroidTheme { Greeting("Android") } -} \ No newline at end of file +} diff --git a/build.gradle.kts b/build.gradle.kts index 8e8f4ab..9ead276 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,18 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -plugins { - id("com.android.application") version "8.2.0" apply false - id("org.jetbrains.kotlin.android") version "1.9.0" apply false -} \ No newline at end of file +buildscript { + repositories { + google() + mavenCentral() + } + + dependencies { + classpath(ClassPathPlugins.gradle) + classpath(ClassPathPlugins.kotlinGradle) + classpath(ClassPathPlugins.hilt) + classpath(ClassPathPlugins.oss) + classpath(ClassPathPlugins.compose) + } +} + +tasks.register("clean", Delete::class) { + delete(rootProject.buildDir) +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..876c922 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,7 @@ +plugins { + `kotlin-dsl` +} + +repositories { + mavenCentral() +} diff --git a/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt b/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt new file mode 100644 index 0000000..5fb7eda --- /dev/null +++ b/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt @@ -0,0 +1,10 @@ +package com.zucchini.buildsrc + +object Constants { + const val packageName = "com.zucchini.ssuplector" + const val compileSdk = 34 + const val minSdk = 28 + const val targetSdk = 34 + const val versionCode = 12 + const val versionName = "1.2" +} diff --git a/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt b/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt new file mode 100644 index 0000000..79f1968 --- /dev/null +++ b/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt @@ -0,0 +1,125 @@ +object KotlinDependencies { + const val kotlin = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlinVersion}" + const val coroutines = + "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutinesAndroidVersion}" + const val jsonSerialization = + "org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.kotlinSerializationJsonVersion}" + const val dateTime = "org.jetbrains.kotlinx:kotlinx-datetime:${Versions.kotlinDateTimeVersion}" +} + +object AndroidXDependencies { + const val coreKtx = "androidx.core:core-ktx:${Versions.coreKtxVersion}" + const val splashScreen = "androidx.core:core-splashscreen:${Versions.splashVersion}" + + const val appCompat = "androidx.appcompat:appcompat:${Versions.appCompatVersion}" + const val constraintLayout = + "androidx.constraintlayout:constraintlayout:${Versions.constraintLayoutVersion}" + const val startup = "androidx.startup:startup-runtime:${Versions.appStartUpVersion}" + const val activity = "androidx.activity:activity-ktx:${Versions.activityKtxVersion}" + const val fragment = "androidx.fragment:fragment-ktx:${Versions.fragmentKtxVersion}" + const val legacy = "androidx.legacy:legacy-support-v4:${Versions.legacySupportVersion}" + const val security = "androidx.security:security-crypto:${Versions.securityVersion}" + + const val lifeCycleKtx = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.lifecycleVersion}" + const val lifeCycleLiveDataKtx = + "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.lifecycleVersion}" + const val lifecycleJava8 = + "androidx.lifecycle:lifecycle-common-java8:${Versions.lifecycleVersion}" + + const val paging = "androidx.paging:paging-common-ktx:${Versions.pagingVersion}" + const val pagingRuntime = "androidx.paging:paging-runtime:${Versions.pagingVersion}" + const val workManager = "androidx.work:work-runtime-ktx:${Versions.workManagerVersion}" + + const val hiltWorkManager = "androidx.hilt:hilt-work:1.0.0" + const val hilt = "com.google.dagger:hilt-android:${Versions.hiltVersion}" + const val ossLicense = + "com.google.android.gms:play-services-oss-licenses:${Versions.ossVersion}" + + const val navigationFragment = + "androidx.navigation:navigation-fragment-ktx:${Versions.navigationVersion}" + const val navigationUi = "androidx.navigation:navigation-ui-ktx:${Versions.navigationVersion}" + const val navigationDynamic = + "androidx.navigation:navigation-dynamic-features-fragment:${Versions.navigationVersion}" +} + +object TestDependencies { + const val jUnit = "junit:junit:${Versions.junitVersion}" + const val androidTest = "androidx.test.ext:junit:${Versions.androidTestVersion}" + const val espresso = "androidx.test.espresso:espresso-core:${Versions.espressoVersion}" +} + +object MaterialDesignDependencies { + const val materialDesign = + "com.google.android.material:material:${Versions.materialDesignVersion}" +} + +object KaptDependencies { + const val hiltAndroidCompiler = "com.google.dagger:hilt-compiler:${Versions.hiltVersion}" + const val hiltCompiler = "com.google.dagger:hilt-compiler:${Versions.hiltVersion}" + const val hiltWorkManagerCompiler = "androidx.hilt:hilt-compiler:1.0.0" +} + +object ThirdPartyDependencies { + const val coil = "io.coil-kt:coil:${Versions.coilVersion}" + + const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofitVersion}" + const val retrofitJsonConverter = + "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:${Versions.kotlinSerializationConverterVersion}" + const val okHttpBom = "com.squareup.okhttp3:okhttp-bom:${Versions.okHttpVersion}" + const val okHttp = "com.squareup.okhttp3:okhttp" + const val okHttpLoggingInterceptor = "com.squareup.okhttp3:logging-interceptor" + + const val timber = "com.jakewharton.timber:timber:${Versions.timberVersion}" + + const val ossLicense = + "com.google.android.gms:play-services-oss-licenses:${Versions.ossVersion}" + const val hiltCore = "com.google.dagger:hilt-core:${Versions.hiltVersion}" + + const val progressView = "com.github.skydoves:progressview:${Versions.progressViewVersion}" + const val balloon = "com.github.skydoves:balloon:${Versions.balloonVersion}" + const val lottie = "com.airbnb.android:lottie:${Versions.lottieVersion}" + const val circularProgressBar = + "com.mikhaellopez:circularprogressbar:${Versions.circularProgressBar}" + const val circleIndicator = "me.relex:circleindicator:${Versions.circleIndicatorVersion}" + const val shimmer = "com.facebook.shimmer:shimmer:${Versions.shimmerVersion}" + +// const val kakaoLogin = "com.kakao.sdk:v2-user:${Versions.kakaoVersion}" +// const val kakaoAuth = "com.kakao.sdk:v2-auth:${Versions.kakaoVersion}" +// const val kakaoTalk = "com.kakao.sdk:v2-talk:${Versions.kakaoVersion}" +// const val kakaoShare = "com.kakao.sdk:v2-share:${Versions.kakaoVersion}" + + const val amplitude = "com.amplitude:android-sdk:${Versions.amplitudeVersion}" + + const val flexbox = "com.google.android.flexbox:flexbox:${Versions.flexboxVersion}" + const val circleImageView = "de.hdodenhof:circleimageview:${Versions.circleImageViewVersion}" +} + +object ClassPathPlugins { + const val gradle = "com.android.tools.build:gradle:${Versions.gradleVersion}" + const val kotlinGradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlinVersion}" + const val hilt = "com.google.dagger:hilt-android-gradle-plugin:${Versions.hiltVersion}" + const val oss = "com.google.android.gms:oss-licenses-plugin:${Versions.ossPluginVersion}" + const val compose = "org.jetbrains.compose:compose-gradle-plugin:${Versions.composeVersion}" +} + +object FirebaseDependencies { + const val bom = "com.google.firebase:firebase-bom:32.2.0" + const val messaging = "com.google.firebase:firebase-messaging-ktx" + const val crashlytics = "com.google.firebase:firebase-crashlytics-ktx" + const val analytics = "com.google.firebase:firebase-analytics-ktx" + const val remoteConfig = "com.google.firebase:firebase-config-ktx" +} + +//object KakaoDependencies { +// const val user = "com.kakao.sdk:v2-user:${Versions.kakaoVersion}" +// const val share = "com.kakao.sdk:v2-share:${Versions.kakaoVersion}" +//} + +object ComposeDependencies { + const val composeUi = "androidx.compose.ui:ui:${Versions.composeCompilerVersion}" + const val composeMaterial = + "androidx.compose.material3:material3:${Versions.composeCompilerVersion}" + const val activityCompose = "androidx.activity:activity-compose:${Versions.activityComposeVersion}" + const val material3 = "androidx.compose.material3:material3:${Versions.material3Version}" + const val composeTooling = "androidx.compose.ui:ui-tooling:${Versions.composeToolingVersion}" +} diff --git a/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt b/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt new file mode 100644 index 0000000..1847f68 --- /dev/null +++ b/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt @@ -0,0 +1,56 @@ +import org.gradle.api.JavaVersion + +object Versions { + const val gradleVersion = "8.0.2" + + const val buildToolsVersion = "30.0.3" + const val kotlinVersion = "1.7.20" + const val kotlinSerializationJsonVersion = "1.5.1" + const val kotlinDateTimeVersion = "0.4.0" + const val coreKtxVersion = "1.10.1" + const val appCompatVersion = "1.6.1" + const val materialDesignVersion = "1.9.0" + const val constraintLayoutVersion = "2.1.4" + const val appStartUpVersion = "1.1.1" + const val legacySupportVersion = "1.0.0" + const val securityVersion = "1.1.0-alpha06" + const val hiltVersion = "2.46.1" + const val activityKtxVersion = "1.7.2" + const val fragmentKtxVersion = "1.5.7" + const val coroutinesAndroidVersion = "1.7.1" + const val pagingVersion = "3.1.1" + const val lifecycleVersion = "2.6.1" + const val ossPluginVersion = "0.10.4" + const val ossVersion = "17.0.0" + const val splashVersion = "1.0.1" + const val workManagerVersion = "2.8.1" + const val coilVersion = "2.4.0" + const val retrofitVersion = "2.9.0" + const val kotlinSerializationConverterVersion = "1.0.0" + const val okHttpVersion = "4.11.0" + const val timberVersion = "5.0.1" + const val progressViewVersion = "1.1.3" + const val balloonVersion = "1.4.5" + const val lottieVersion = "6.0.0" + const val circularProgressBar = "3.1.0" + // const val kakaoVersion = "2.19.0" + const val circleIndicatorVersion = "2.1.6" + const val shimmerVersion = "0.5.0" + const val navigationVersion = "2.6.0" + const val amplitudeVersion = "2.23.2" + const val junitVersion = "4.13.2" + const val espressoVersion = "3.3.0" + const val androidTestVersion = "1.1.2" + const val flexboxVersion = "3.0.0" + const val circleImageViewVersion = "3.1.0" + + val javaVersion = JavaVersion.VERSION_17 + const val jvmVersion = "17" + + // Compose Version + const val composeVersion = "1.1.0" + const val composeCompilerVersion = "1.2.1" + const val activityComposeVersion = "1.4.0" + const val material3Version = "1.0.0-alpha06" + const val composeToolingVersion = "1.0.0-alpha06" +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 3fbbc63..ab17251 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,6 +5,7 @@ pluginManagement { gradlePluginPortal() } } + dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { @@ -13,6 +14,6 @@ dependencyResolutionManagement { } } -rootProject.name = "SSUPlector-Android" +rootProject.name = "SSUPlector" + include(":app") - \ No newline at end of file From 2ddbc1563e0340ebf1305de45eb650c4eb71f7e0 Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Fri, 22 Mar 2024 23:05:22 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[add]:=20data,=20domain,=20feature=20?= =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 1 + core/.gitignore | 1 + core/build.gradle.kts | 43 +++++++++++++++++++ core/src/main/AndroidManifest.xml | 4 ++ data/.gitignore | 1 + data/build.gradle.kts | 43 +++++++++++++++++++ data/consumer-rules.pro | 0 data/proguard-rules.pro | 21 +++++++++ data/src/main/AndroidManifest.xml | 4 ++ domain/.gitignore | 1 + domain/build.gradle.kts | 43 +++++++++++++++++++ feature/devInfo/.gitignore | 1 + feature/devInfo/build.gradle.kts | 43 +++++++++++++++++++ feature/devInfo/consumer-rules.pro | 0 feature/devInfo/proguard-rules.pro | 21 +++++++++ .../devinfo/ExampleInstrumentedTest.kt | 24 +++++++++++ feature/devInfo/src/main/AndroidManifest.xml | 4 ++ .../com/zucchini/devinfo/ExampleUnitTest.kt | 17 ++++++++ feature/mypage/.gitignore | 1 + feature/mypage/build.gradle.kts | 43 +++++++++++++++++++ feature/mypage/consumer-rules.pro | 0 feature/mypage/proguard-rules.pro | 21 +++++++++ .../mypage/ExampleInstrumentedTest.kt | 24 +++++++++++ feature/mypage/src/main/AndroidManifest.xml | 4 ++ .../com/zucchini/mypage/ExampleUnitTest.kt | 17 ++++++++ feature/projects/.gitignore | 1 + feature/projects/build.gradle.kts | 43 +++++++++++++++++++ feature/projects/consumer-rules.pro | 0 feature/projects/proguard-rules.pro | 21 +++++++++ .../projects/ExampleInstrumentedTest.kt | 24 +++++++++++ feature/projects/src/main/AndroidManifest.xml | 4 ++ .../com/zucchini/projects/ExampleUnitTest.kt | 17 ++++++++ settings.gradle.kts | 7 +++ 33 files changed, 499 insertions(+) create mode 100644 core/.gitignore create mode 100644 core/build.gradle.kts create mode 100644 core/src/main/AndroidManifest.xml create mode 100644 data/.gitignore create mode 100644 data/build.gradle.kts create mode 100644 data/consumer-rules.pro create mode 100644 data/proguard-rules.pro create mode 100644 data/src/main/AndroidManifest.xml create mode 100644 domain/.gitignore create mode 100644 domain/build.gradle.kts create mode 100644 feature/devInfo/.gitignore create mode 100644 feature/devInfo/build.gradle.kts create mode 100644 feature/devInfo/consumer-rules.pro create mode 100644 feature/devInfo/proguard-rules.pro create mode 100644 feature/devInfo/src/androidTest/java/com/zucchini/devinfo/ExampleInstrumentedTest.kt create mode 100644 feature/devInfo/src/main/AndroidManifest.xml create mode 100644 feature/devInfo/src/test/java/com/zucchini/devinfo/ExampleUnitTest.kt create mode 100644 feature/mypage/.gitignore create mode 100644 feature/mypage/build.gradle.kts create mode 100644 feature/mypage/consumer-rules.pro create mode 100644 feature/mypage/proguard-rules.pro create mode 100644 feature/mypage/src/androidTest/java/com/zucchini/mypage/ExampleInstrumentedTest.kt create mode 100644 feature/mypage/src/main/AndroidManifest.xml create mode 100644 feature/mypage/src/test/java/com/zucchini/mypage/ExampleUnitTest.kt create mode 100644 feature/projects/.gitignore create mode 100644 feature/projects/build.gradle.kts create mode 100644 feature/projects/consumer-rules.pro create mode 100644 feature/projects/proguard-rules.pro create mode 100644 feature/projects/src/androidTest/java/com/zucchini/projects/ExampleInstrumentedTest.kt create mode 100644 feature/projects/src/main/AndroidManifest.xml create mode 100644 feature/projects/src/test/java/com/zucchini/projects/ExampleUnitTest.kt diff --git a/build.gradle.kts b/build.gradle.kts index 9ead276..bd527a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,6 +10,7 @@ buildscript { classpath(ClassPathPlugins.hilt) classpath(ClassPathPlugins.oss) classpath(ClassPathPlugins.compose) + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") } } diff --git a/core/.gitignore b/core/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/core/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/core/build.gradle.kts b/core/build.gradle.kts new file mode 100644 index 0000000..97ab01d --- /dev/null +++ b/core/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.zucchini.core" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +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") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/core/src/main/AndroidManifest.xml b/core/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/core/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/data/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/data/build.gradle.kts b/data/build.gradle.kts new file mode 100644 index 0000000..9d9f522 --- /dev/null +++ b/data/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.zucchini.data" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +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") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/data/consumer-rules.pro b/data/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/data/proguard-rules.pro b/data/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/data/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/data/src/main/AndroidManifest.xml b/data/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/data/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/domain/.gitignore b/domain/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/domain/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts new file mode 100644 index 0000000..3c90857 --- /dev/null +++ b/domain/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.zucchini.domain" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +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") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/feature/devInfo/.gitignore b/feature/devInfo/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/feature/devInfo/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/devInfo/build.gradle.kts b/feature/devInfo/build.gradle.kts new file mode 100644 index 0000000..53d9c2d --- /dev/null +++ b/feature/devInfo/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.zucchini.devinfo" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +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") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/feature/devInfo/consumer-rules.pro b/feature/devInfo/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/feature/devInfo/proguard-rules.pro b/feature/devInfo/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/feature/devInfo/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/feature/devInfo/src/androidTest/java/com/zucchini/devinfo/ExampleInstrumentedTest.kt b/feature/devInfo/src/androidTest/java/com/zucchini/devinfo/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..0b9a055 --- /dev/null +++ b/feature/devInfo/src/androidTest/java/com/zucchini/devinfo/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.zucchini.devinfo + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.zucchini.devinfo.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/feature/devInfo/src/main/AndroidManifest.xml b/feature/devInfo/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/feature/devInfo/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/devInfo/src/test/java/com/zucchini/devinfo/ExampleUnitTest.kt b/feature/devInfo/src/test/java/com/zucchini/devinfo/ExampleUnitTest.kt new file mode 100644 index 0000000..c7c8c32 --- /dev/null +++ b/feature/devInfo/src/test/java/com/zucchini/devinfo/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.zucchini.devinfo + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/feature/mypage/.gitignore b/feature/mypage/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/feature/mypage/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/mypage/build.gradle.kts b/feature/mypage/build.gradle.kts new file mode 100644 index 0000000..4a71c9a --- /dev/null +++ b/feature/mypage/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.zucchini.mypage" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +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") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/feature/mypage/consumer-rules.pro b/feature/mypage/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/feature/mypage/proguard-rules.pro b/feature/mypage/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/feature/mypage/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/feature/mypage/src/androidTest/java/com/zucchini/mypage/ExampleInstrumentedTest.kt b/feature/mypage/src/androidTest/java/com/zucchini/mypage/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..77e01ac --- /dev/null +++ b/feature/mypage/src/androidTest/java/com/zucchini/mypage/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.zucchini.mypage + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.zucchini.mypage.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/feature/mypage/src/main/AndroidManifest.xml b/feature/mypage/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/feature/mypage/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/mypage/src/test/java/com/zucchini/mypage/ExampleUnitTest.kt b/feature/mypage/src/test/java/com/zucchini/mypage/ExampleUnitTest.kt new file mode 100644 index 0000000..d943a84 --- /dev/null +++ b/feature/mypage/src/test/java/com/zucchini/mypage/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.zucchini.mypage + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/feature/projects/.gitignore b/feature/projects/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/feature/projects/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/feature/projects/build.gradle.kts b/feature/projects/build.gradle.kts new file mode 100644 index 0000000..7ceb366 --- /dev/null +++ b/feature/projects/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +android { + namespace = "com.zucchini.projects" + compileSdk = 34 + + defaultConfig { + minSdk = 28 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +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") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/feature/projects/consumer-rules.pro b/feature/projects/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/feature/projects/proguard-rules.pro b/feature/projects/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/feature/projects/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/feature/projects/src/androidTest/java/com/zucchini/projects/ExampleInstrumentedTest.kt b/feature/projects/src/androidTest/java/com/zucchini/projects/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..f0c2e46 --- /dev/null +++ b/feature/projects/src/androidTest/java/com/zucchini/projects/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.zucchini.projects + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.zucchini.projects.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/feature/projects/src/main/AndroidManifest.xml b/feature/projects/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/feature/projects/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/feature/projects/src/test/java/com/zucchini/projects/ExampleUnitTest.kt b/feature/projects/src/test/java/com/zucchini/projects/ExampleUnitTest.kt new file mode 100644 index 0000000..919f97b --- /dev/null +++ b/feature/projects/src/test/java/com/zucchini/projects/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.zucchini.projects + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index ab17251..198c0bc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,3 +17,10 @@ dependencyResolutionManagement { rootProject.name = "SSUPlector" include(":app") +include(":domain") +include(":data") +include(":core") +include(":feature") +include(":feature:devInfo") +include(":feature:mypage") +include(":feature:projects") From 9f8850b7e53dabb8266c0954524e0cde18246358 Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Sat, 23 Mar 2024 00:59:21 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[fix]:=20gradle=20=EB=B2=84=EC=A0=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=A2=85=EC=86=8D=EC=84=B1=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 21 ++-- build.gradle.kts | 2 - .../com/zucchini/buildsrc/Dependencies.kt | 25 +---- .../java/com/zucchini/buildsrc/Versions.kt | 8 +- core/build.gradle.kts | 57 ++++++----- data/build.gradle.kts | 66 ++++++++----- domain/build.gradle.kts | 49 +++------- feature/devInfo/build.gradle.kts | 95 ++++++++++++++----- feature/mypage/build.gradle.kts | 95 ++++++++++++++----- feature/projects/build.gradle.kts | 95 ++++++++++++++----- 10 files changed, 320 insertions(+), 193 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 13fac32..952435a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,4 +1,3 @@ -import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties import com.zucchini.buildsrc.Constants plugins { @@ -72,10 +71,12 @@ android { } dependencies { -// implementation(project(":core-ui")) -// implementation(project(":data")) -// implementation(project(":domain")) -// implementation(project(":presentation")) + implementation(project(":core")) + implementation(project(":data")) + implementation(project(":domain")) + implementation(project(":feature:projects")) + implementation(project(":feature:devInfo")) + implementation(project(":feature:mypage")) KotlinDependencies.run { implementation(kotlin) @@ -112,16 +113,10 @@ dependencies { implementation(ossLicense) } -// KakaoDependencies.run { -// implementation(user) -// implementation(share) -// } - ComposeDependencies.run { implementation(composeUi) - implementation(composeMaterial) - implementation(activityCompose) - implementation(material3) + implementation(composeActivity) + implementation(composeMaterial3) implementation(composeTooling) } } \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index bd527a9..42b2320 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,8 +9,6 @@ buildscript { classpath(ClassPathPlugins.kotlinGradle) classpath(ClassPathPlugins.hilt) classpath(ClassPathPlugins.oss) - classpath(ClassPathPlugins.compose) - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") } } diff --git a/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt b/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt index 79f1968..2b712c9 100644 --- a/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt +++ b/buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt @@ -83,11 +83,6 @@ object ThirdPartyDependencies { const val circleIndicator = "me.relex:circleindicator:${Versions.circleIndicatorVersion}" const val shimmer = "com.facebook.shimmer:shimmer:${Versions.shimmerVersion}" -// const val kakaoLogin = "com.kakao.sdk:v2-user:${Versions.kakaoVersion}" -// const val kakaoAuth = "com.kakao.sdk:v2-auth:${Versions.kakaoVersion}" -// const val kakaoTalk = "com.kakao.sdk:v2-talk:${Versions.kakaoVersion}" -// const val kakaoShare = "com.kakao.sdk:v2-share:${Versions.kakaoVersion}" - const val amplitude = "com.amplitude:android-sdk:${Versions.amplitudeVersion}" const val flexbox = "com.google.android.flexbox:flexbox:${Versions.flexboxVersion}" @@ -99,27 +94,11 @@ object ClassPathPlugins { const val kotlinGradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlinVersion}" const val hilt = "com.google.dagger:hilt-android-gradle-plugin:${Versions.hiltVersion}" const val oss = "com.google.android.gms:oss-licenses-plugin:${Versions.ossPluginVersion}" - const val compose = "org.jetbrains.compose:compose-gradle-plugin:${Versions.composeVersion}" -} - -object FirebaseDependencies { - const val bom = "com.google.firebase:firebase-bom:32.2.0" - const val messaging = "com.google.firebase:firebase-messaging-ktx" - const val crashlytics = "com.google.firebase:firebase-crashlytics-ktx" - const val analytics = "com.google.firebase:firebase-analytics-ktx" - const val remoteConfig = "com.google.firebase:firebase-config-ktx" } -//object KakaoDependencies { -// const val user = "com.kakao.sdk:v2-user:${Versions.kakaoVersion}" -// const val share = "com.kakao.sdk:v2-share:${Versions.kakaoVersion}" -//} - object ComposeDependencies { const val composeUi = "androidx.compose.ui:ui:${Versions.composeCompilerVersion}" - const val composeMaterial = - "androidx.compose.material3:material3:${Versions.composeCompilerVersion}" - const val activityCompose = "androidx.activity:activity-compose:${Versions.activityComposeVersion}" - const val material3 = "androidx.compose.material3:material3:${Versions.material3Version}" + const val composeActivity = "androidx.activity:activity-compose:${Versions.activityComposeVersion}" + const val composeMaterial3 = "androidx.compose.material3:material3:${Versions.material3Version}" const val composeTooling = "androidx.compose.ui:ui-tooling:${Versions.composeToolingVersion}" } diff --git a/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt b/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt index 1847f68..1eb7978 100644 --- a/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt +++ b/buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt @@ -48,9 +48,9 @@ object Versions { const val jvmVersion = "17" // Compose Version - const val composeVersion = "1.1.0" - const val composeCompilerVersion = "1.2.1" + const val composeVersion = "1.3.2" + const val composeCompilerVersion = "1.3.2" const val activityComposeVersion = "1.4.0" - const val material3Version = "1.0.0-alpha06" - const val composeToolingVersion = "1.0.0-alpha06" + const val material3Version = "1.2.1" + const val composeToolingVersion = "1.6.4" } diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 97ab01d..3e29256 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -1,43 +1,54 @@ +import com.zucchini.buildsrc.Constants +import org.jetbrains.kotlin.kapt3.base.Kapt.kapt + plugins { id("com.android.library") - id("org.jetbrains.kotlin.android") + kotlin("android") + kotlin("kapt") + id("dagger.hilt.android.plugin") } android { namespace = "com.zucchini.core" - compileSdk = 34 + compileSdk = Constants.compileSdk defaultConfig { - minSdk = 28 + minSdk = Constants.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } - - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = Versions.jvmVersion + } + + buildFeatures { + dataBinding = true + viewBinding = true + compose = true } } dependencies { + // Kotlin + implementation(KotlinDependencies.kotlin) - implementation("androidx.core:core-ktx:1.12.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("com.google.android.material:material:1.11.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -} \ No newline at end of file + // Lifecycle Ktx + implementation(AndroidXDependencies.lifeCycleKtx) + + // Material Design + implementation(MaterialDesignDependencies.materialDesign) + + // Hilt + implementation(AndroidXDependencies.hilt) + kapt(KaptDependencies.hiltAndroidCompiler) + + // Test Dependency + testImplementation(TestDependencies.jUnit) + androidTestImplementation(TestDependencies.androidTest) + androidTestImplementation(TestDependencies.espresso) +} diff --git a/data/build.gradle.kts b/data/build.gradle.kts index 9d9f522..695f7d6 100644 --- a/data/build.gradle.kts +++ b/data/build.gradle.kts @@ -1,43 +1,65 @@ +import com.zucchini.buildsrc.Constants + plugins { id("com.android.library") - id("org.jetbrains.kotlin.android") + kotlin("android") + kotlin("kapt") + kotlin("plugin.serialization") version Versions.kotlinVersion } android { namespace = "com.zucchini.data" - compileSdk = 34 + compileSdk = Constants.compileSdk defaultConfig { - minSdk = 28 + minSdk = Constants.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } + kotlinOptions { - jvmTarget = "1.8" + jvmTarget = Versions.jvmVersion + } + + buildFeatures { + buildConfig = true } } dependencies { + implementation(project(":domain")) + + AndroidXDependencies.run { + implementation(hilt) + implementation(security) + implementation(coreKtx) + } - implementation("androidx.core:core-ktx:1.12.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("com.google.android.material:material:1.11.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -} \ No newline at end of file + KotlinDependencies.run { + implementation(kotlin) + implementation(jsonSerialization) + implementation(coroutines) + implementation(dateTime) + } + + ThirdPartyDependencies.run { + implementation(retrofit) + implementation(okHttp) + implementation(okHttpBom) + implementation(okHttpLoggingInterceptor) + implementation(retrofitJsonConverter) + implementation(timber) + } + + TestDependencies.run { + testImplementation(jUnit) + androidTestImplementation(androidTest) + androidTestImplementation(espresso) + } +} diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts index 3c90857..5b5a51f 100644 --- a/domain/build.gradle.kts +++ b/domain/build.gradle.kts @@ -1,43 +1,18 @@ plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") + id("java-library") + kotlin("jvm") + kotlin("kapt") } -android { - namespace = "com.zucchini.domain" - compileSdk = 34 - - defaultConfig { - minSdk = 28 - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles("consumer-rules.pro") - } - - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = "1.8" - } +java { + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } 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") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -} \ No newline at end of file + KotlinDependencies.run { + implementation(kotlin) + implementation(coroutines) + implementation(dateTime) + } +} diff --git a/feature/devInfo/build.gradle.kts b/feature/devInfo/build.gradle.kts index 53d9c2d..46918d8 100644 --- a/feature/devInfo/build.gradle.kts +++ b/feature/devInfo/build.gradle.kts @@ -1,43 +1,92 @@ +import com.zucchini.buildsrc.Constants + plugins { id("com.android.library") - id("org.jetbrains.kotlin.android") + kotlin("android") + kotlin("kapt") + id("kotlin-parcelize") + id("dagger.hilt.android.plugin") } android { - namespace = "com.zucchini.devinfo" - compileSdk = 34 + namespace = "com.zucchini.feature.devInfo" + compileSdk = Constants.compileSdk defaultConfig { - minSdk = 28 + minSdk = Constants.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } + kotlinOptions { - jvmTarget = "1.8" + jvmTarget = Versions.jvmVersion + } + + buildFeatures { + buildConfig = true + dataBinding = true + viewBinding = true + compose = true } } dependencies { + implementation(project(":core")) + implementation(project(":domain")) + + KotlinDependencies.run { + implementation(kotlin) + implementation(coroutines) + implementation(jsonSerialization) + implementation(dateTime) + } + + AndroidXDependencies.run { + implementation(coreKtx) + implementation(appCompat) + implementation(constraintLayout) + implementation(fragment) + implementation(startup) + implementation(legacy) + implementation(security) + implementation(hilt) + implementation(lifeCycleKtx) + implementation(lifecycleJava8) + implementation(splashScreen) + implementation(pagingRuntime) + implementation(workManager) + implementation(hiltWorkManager) + } - implementation("androidx.core:core-ktx:1.12.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("com.google.android.material:material:1.11.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -} \ No newline at end of file + KaptDependencies.run { + kapt(hiltCompiler) + kapt(hiltWorkManagerCompiler) + } + + implementation(MaterialDesignDependencies.materialDesign) + + TestDependencies.run { + testImplementation(jUnit) + androidTestImplementation(androidTest) + androidTestImplementation(espresso) + } + + ThirdPartyDependencies.run { + implementation(coil) + implementation(timber) + implementation(ossLicense) + } + + ComposeDependencies.run { + implementation(composeUi) + implementation(composeActivity) + implementation(composeMaterial3) + implementation(composeTooling) + } +} diff --git a/feature/mypage/build.gradle.kts b/feature/mypage/build.gradle.kts index 4a71c9a..3b47864 100644 --- a/feature/mypage/build.gradle.kts +++ b/feature/mypage/build.gradle.kts @@ -1,43 +1,92 @@ +import com.zucchini.buildsrc.Constants + plugins { id("com.android.library") - id("org.jetbrains.kotlin.android") + kotlin("android") + kotlin("kapt") + id("kotlin-parcelize") + id("dagger.hilt.android.plugin") } android { - namespace = "com.zucchini.mypage" - compileSdk = 34 + namespace = "com.zucchini.feature.mypage" + compileSdk = Constants.compileSdk defaultConfig { - minSdk = 28 + minSdk = Constants.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } + kotlinOptions { - jvmTarget = "1.8" + jvmTarget = Versions.jvmVersion + } + + buildFeatures { + buildConfig = true + dataBinding = true + viewBinding = true + compose = true } } dependencies { + implementation(project(":core")) + implementation(project(":domain")) + + KotlinDependencies.run { + implementation(kotlin) + implementation(coroutines) + implementation(jsonSerialization) + implementation(dateTime) + } + + AndroidXDependencies.run { + implementation(coreKtx) + implementation(appCompat) + implementation(constraintLayout) + implementation(fragment) + implementation(startup) + implementation(legacy) + implementation(security) + implementation(hilt) + implementation(lifeCycleKtx) + implementation(lifecycleJava8) + implementation(splashScreen) + implementation(pagingRuntime) + implementation(workManager) + implementation(hiltWorkManager) + } - implementation("androidx.core:core-ktx:1.12.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("com.google.android.material:material:1.11.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -} \ No newline at end of file + KaptDependencies.run { + kapt(hiltCompiler) + kapt(hiltWorkManagerCompiler) + } + + implementation(MaterialDesignDependencies.materialDesign) + + TestDependencies.run { + testImplementation(jUnit) + androidTestImplementation(androidTest) + androidTestImplementation(espresso) + } + + ThirdPartyDependencies.run { + implementation(coil) + implementation(timber) + implementation(ossLicense) + } + + ComposeDependencies.run { + implementation(composeUi) + implementation(composeActivity) + implementation(composeMaterial3) + implementation(composeTooling) + } +} diff --git a/feature/projects/build.gradle.kts b/feature/projects/build.gradle.kts index 7ceb366..30f8c66 100644 --- a/feature/projects/build.gradle.kts +++ b/feature/projects/build.gradle.kts @@ -1,43 +1,92 @@ +import com.zucchini.buildsrc.Constants + plugins { id("com.android.library") - id("org.jetbrains.kotlin.android") + kotlin("android") + kotlin("kapt") + id("kotlin-parcelize") + id("dagger.hilt.android.plugin") } android { - namespace = "com.zucchini.projects" - compileSdk = 34 + namespace = "com.zucchini.feature.projects" + compileSdk = Constants.compileSdk defaultConfig { - minSdk = 28 + minSdk = Constants.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } + kotlinOptions { - jvmTarget = "1.8" + jvmTarget = Versions.jvmVersion + } + + buildFeatures { + buildConfig = true + dataBinding = true + viewBinding = true + compose = true } } dependencies { + implementation(project(":core")) + implementation(project(":domain")) + + KotlinDependencies.run { + implementation(kotlin) + implementation(coroutines) + implementation(jsonSerialization) + implementation(dateTime) + } + + AndroidXDependencies.run { + implementation(coreKtx) + implementation(appCompat) + implementation(constraintLayout) + implementation(fragment) + implementation(startup) + implementation(legacy) + implementation(security) + implementation(hilt) + implementation(lifeCycleKtx) + implementation(lifecycleJava8) + implementation(splashScreen) + implementation(pagingRuntime) + implementation(workManager) + implementation(hiltWorkManager) + } - implementation("androidx.core:core-ktx:1.12.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("com.google.android.material:material:1.11.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.5") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") -} \ No newline at end of file + KaptDependencies.run { + kapt(hiltCompiler) + kapt(hiltWorkManagerCompiler) + } + + implementation(MaterialDesignDependencies.materialDesign) + + TestDependencies.run { + testImplementation(jUnit) + androidTestImplementation(androidTest) + androidTestImplementation(espresso) + } + + ThirdPartyDependencies.run { + implementation(coil) + implementation(timber) + implementation(ossLicense) + } + + ComposeDependencies.run { + implementation(composeUi) + implementation(composeActivity) + implementation(composeMaterial3) + implementation(composeTooling) + } +} From ee446601871548624de512293c9f4e57a8fabf28 Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Sat, 23 Mar 2024 01:17:06 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[feat]:=20hilt=20application=20=EB=A7=8C?= =?UTF-8?q?=EB=93=A4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 1 + app/src/main/AndroidManifest.xml | 4 +- .../com/zucchini/ssuplector/MainActivity.kt | 51 +++++-------------- .../ssuplector/SSUPlectorApplication.kt | 11 ++++ app/src/main/res/layout/activity_main.xml | 18 +++++++ 5 files changed, 45 insertions(+), 40 deletions(-) create mode 100644 app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt create mode 100644 app/src/main/res/layout/activity_main.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 952435a..eaca325 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -90,6 +90,7 @@ dependencies { implementation(hilt) implementation(workManager) implementation(hiltWorkManager) + implementation(constraintLayout) } KaptDependencies.run { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7f88674..ba00faf 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools"> + android:theme="@style/Theme.AppCompat"> - diff --git a/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt b/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt index af00155..14139a6 100644 --- a/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt +++ b/app/src/main/java/com/zucchini/ssuplector/MainActivity.kt @@ -1,46 +1,21 @@ package com.zucchini.ssuplector +import android.content.Intent import android.os.Bundle -import androidx.activity.ComponentActivity -import androidx.activity.compose.setContent -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.tooling.preview.Preview -import com.zucchini.ssuplector.ui.theme.SSUPlectorAndroidTheme +import androidx.appcompat.app.AppCompatActivity +import com.zucchini.ssuplector.databinding.ActivityMainBinding +import dagger.hilt.android.AndroidEntryPoint -class MainActivity : ComponentActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContent { - SSUPlectorAndroidTheme { - // A surface container using the 'background' color from the theme - Surface( - modifier = Modifier.fillMaxSize(), - color = MaterialTheme.colorScheme.background, - ) { - Greeting("Android") - } - } - } - } -} +@AndroidEntryPoint -@Composable -fun Greeting(name: String, modifier: Modifier = Modifier) { - Text( - text = "Hello $name!", - modifier = modifier, - ) -} +class MainActivity : AppCompatActivity() { + private lateinit var binding: ActivityMainBinding -@Preview(showBackground = true) -@Composable -fun GreetingPreview() { - SSUPlectorAndroidTheme { - Greeting("Android") + override fun onCreate(savedInstanceState: Bundle?) { + binding = ActivityMainBinding.inflate(layoutInflater) + super.onCreate(savedInstanceState) + setContentView(binding.root) + // startActivity(Intent(this, LoginActivity::class.java)) + // finish() } } diff --git a/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt b/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt new file mode 100644 index 0000000..fb2c009 --- /dev/null +++ b/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt @@ -0,0 +1,11 @@ +package com.zucchini.ssuplector + +import android.app.Application +import dagger.hilt.android.HiltAndroidApp + +@HiltAndroidApp +class SSUPlectorApplication : Application() { + override fun onCreate() { + super.onCreate() + } +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..ecf9831 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + + + From 0d6d2817cbc6ac76321a69cf628a5e4fabf1b454 Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Sat, 23 Mar 2024 14:38:03 +0900 Subject: [PATCH 5/9] =?UTF-8?q?[feat]:=20=EC=84=B8=EB=A1=9C=EB=AA=A8?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80,=20=EB=B2=84=EC=A0=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 ++++ buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ba00faf..4a1a4ea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + + diff --git a/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt b/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt index 5fb7eda..f832af0 100644 --- a/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt +++ b/buildSrc/src/main/java/com/zucchini/buildsrc/Constants.kt @@ -6,5 +6,5 @@ object Constants { const val minSdk = 28 const val targetSdk = 34 const val versionCode = 12 - const val versionName = "1.2" + const val versionName = "1.0.0" } From def411177708b6be7479622b83e437d3ddc1e87d Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Sat, 23 Mar 2024 14:46:21 +0900 Subject: [PATCH 6/9] [feat]: init timber --- .../java/com/zucchini/ssuplector/SSUPlectorApplication.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt b/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt index fb2c009..292e04d 100644 --- a/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt +++ b/app/src/main/java/com/zucchini/ssuplector/SSUPlectorApplication.kt @@ -2,10 +2,17 @@ package com.zucchini.ssuplector import android.app.Application import dagger.hilt.android.HiltAndroidApp +import timber.log.Timber @HiltAndroidApp class SSUPlectorApplication : Application() { override fun onCreate() { super.onCreate() + + initTimber() } } + +private fun initTimber() { + if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree()) +} From 5c560132edf380db35ad2aa71324d06210e2a38e Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Sat, 23 Mar 2024 14:48:15 +0900 Subject: [PATCH 7/9] =?UTF-8?q?[feat]:=20MainActicity=20xml=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/activity_main.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index ecf9831..1354408 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,18 +1,6 @@ - From d7c192b1f9b9e05f20a27a54a55d8f20aa08c097 Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Mon, 25 Mar 2024 22:23:28 +0900 Subject: [PATCH 8/9] =?UTF-8?q?[fix]:=20activity=20default=20=ED=85=8C?= =?UTF-8?q?=EB=A7=88=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4a1a4ea..bc62b70 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ android:exported="true" android:label="@string/app_name" android:screenOrientation="portrait" - android:theme="@style/Theme.AppCompat"> + android:theme="@style/Theme.AppCompat.Light.NoActionBar"> From 67380550073e4b1555f6e79df8f1ab2e94fa1859 Mon Sep 17 00:00:00 2001 From: kangyuri1114 Date: Mon, 25 Mar 2024 22:23:49 +0900 Subject: [PATCH 9/9] =?UTF-8?q?[fix]:=20appname=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1121b4e..35b28ae 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - SSUPlector-Android + SSUPlector \ No newline at end of file