Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
55 changes: 8 additions & 47 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,42 +1,15 @@
import com.yapp.app.setNamespace

plugins {
alias(libs.plugins.android.application)
id("yapp.android.application")

/** Hilt ์ ์šฉํ•˜๋ฉฐ compose ๋ฐ android ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ฑฐ ์˜ˆ์ • **/
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}

android {
namespace = "com.yapp.official"
compileSdk = 34

defaultConfig {
applicationId = "com.yapp.official"
minSdk = 28
targetSdk = 34
versionCode = 1
versionName = "1.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
}
setNamespace("app.official")
}

dependencies {
Expand All @@ -45,19 +18,7 @@ dependencies {
implementation(project(":feature:signup"))
implementation(project(":feature:login"))


/** Hilt ์ ์šฉํ•˜๋ฉฐ compose ๋ฐ android ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ๊ฑฐ ์˜ˆ์ • **/
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
47 changes: 0 additions & 47 deletions app/src/main/java/com/yapp/official/MainActivity.kt

This file was deleted.

11 changes: 0 additions & 11 deletions app/src/main/java/com/yapp/official/ui/theme/Color.kt

This file was deleted.

58 changes: 0 additions & 58 deletions app/src/main/java/com/yapp/official/ui/theme/Theme.kt

This file was deleted.

34 changes: 0 additions & 34 deletions app/src/main/java/com/yapp/official/ui/theme/Type.kt

This file was deleted.

1 change: 1 addition & 0 deletions build-logic/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
10 changes: 10 additions & 0 deletions build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
`kotlin-dsl`
`kotlin-dsl-precompiled-script-plugins`
}

dependencies {
implementation(libs.android.gradlePlugin)
implementation(libs.kotlin.gradlePlugin)
compileOnly(libs.compose.compiler.gradle.plugin)
}
13 changes: 13 additions & 0 deletions build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
@Suppress("UnstableApiUsage")
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
10 changes: 10 additions & 0 deletions build-logic/src/main/java/com/yapp/AppNameExtension.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.yapp.app

import com.yapp.androidExtension
import org.gradle.api.Project

fun Project.setNamespace(name: String) {
androidExtension.apply {
namespace = "com.yapp.$name"
}
}
35 changes: 35 additions & 0 deletions build-logic/src/main/java/com/yapp/ComposeAndroid.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.yapp

import org.gradle.api.Project
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension

internal fun Project.configureCompose() {
with(plugins) {
apply("org.jetbrains.kotlin.plugin.compose")
}

val libs = extensions.libs
androidExtension.apply {
dependencies {
val bom = libs.findLibrary("androidx-compose-bom").get()
add("implementation", platform(bom))
add("androidTestImplementation", platform(bom))

add("implementation", libs.findLibrary("androidx.material3").get())
add("implementation", libs.findLibrary("androidx.ui").get())
add("implementation", libs.findLibrary("androidx.ui.tooling.preview").get())
add("androidTestImplementation", libs.findLibrary("androidx.junit").get())
add("androidTestImplementation", libs.findLibrary("androidx.espresso.core").get())
add("androidTestImplementation", libs.findLibrary("androidx.ui.test.junit4").get())
add("debugImplementation", libs.findLibrary("androidx.ui.tooling").get())
add("debugImplementation", libs.findLibrary("androidx.ui.test.manifest").get())
}
}

extensions.getByType<ComposeCompilerGradlePluginExtension>().apply {
enableStrongSkippingMode.set(true)
includeSourceInformation.set(true)
}
}
25 changes: 25 additions & 0 deletions build-logic/src/main/java/com/yapp/Extension.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.yapp

import com.android.build.api.dsl.ApplicationExtension
import com.android.build.api.dsl.CommonExtension
import com.android.build.api.dsl.LibraryExtension
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalog
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.plugins.ExtensionContainer
import org.gradle.kotlin.dsl.getByType

internal val Project.applicationExtension: CommonExtension<*, *, *, *, *, *>
get() = extensions.getByType<ApplicationExtension>()

internal val Project.libraryExtension: CommonExtension<*, *, *, *, *, *>
get() = extensions.getByType<LibraryExtension>()

internal val Project.androidExtension: CommonExtension<*, *, *, *, *, *>
get() = runCatching { libraryExtension }
.recoverCatching { applicationExtension }
.onFailure { println("Could not find Library or Application extension from this project") }
.getOrThrow()

internal val ExtensionContainer.libs: VersionCatalog
get() = getByType<VersionCatalogsExtension>().named("libs")
Loading