diff --git a/Prezel/app/build.gradle.kts b/Prezel/app/build.gradle.kts index f16b7d0..0441b83 100644 --- a/Prezel/app/build.gradle.kts +++ b/Prezel/app/build.gradle.kts @@ -12,8 +12,8 @@ android { } dependencies { - implementation(projects.core.data) - implementation(projects.core.designsystem) + implementation(projects.coreData) + implementation(projects.coreDesignsystem) implementation(libs.androidx.activity.ktx) implementation(libs.androidx.core.ktx) diff --git a/Prezel/core/data/build.gradle.kts b/Prezel/core/data/build.gradle.kts index 366eb6c..84e9bb7 100644 --- a/Prezel/core/data/build.gradle.kts +++ b/Prezel/core/data/build.gradle.kts @@ -9,6 +9,6 @@ android { } dependencies { - implementation(projects.core.network) + implementation(projects.coreNetwork) implementation(libs.kotlinx.coroutines.core) } diff --git a/Prezel/settings.gradle.kts b/Prezel/settings.gradle.kts index 74841c3..f465c7c 100644 --- a/Prezel/settings.gradle.kts +++ b/Prezel/settings.gradle.kts @@ -1,3 +1,5 @@ +import kotlin.text.replace + pluginManagement { includeBuild("build-logic") repositories { @@ -30,8 +32,37 @@ dependencyResolutionManagement { rootProject.name = "Prezel" enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") -include(":app") -include(":core:data") -include(":core:network") -include(":core:designsystem") +includeAuto( + ":app", + ":core:data", + ":core:designsystem", + ":core:network", +) + +/** + * 모듈 경로 규칙 + * - Gradle project path: :core-data + * - Directory path: core/data + * + * Examples + * :core:data -> include(":core-data"), dir = core/data + * :feature:login:api -> include(":feature-login-api"), dir = feature/login/api + * :feature:main -> include(":feature-main"), dir = feature/main + */ +private fun Settings.includeAuto( + vararg modulePaths: String, + prefix: String = ":", + delimiter: String = "/", +) { + modulePaths.forEach { modulePath -> + val directoryPath = modulePath + .removePrefix(prefix) + .replace(prefix, delimiter) + + val projectPath = prefix + directoryPath.replace(delimiter, "-") + + include(projectPath) + project(projectPath).projectDir = file(directoryPath) + } +}