From 17ed78e889f525c4444bd02365c478180bf40264 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Tue, 3 Feb 2026 15:58:09 +0900 Subject: [PATCH 1/3] [BOOK-494] chore: AGP version 9.0.0 upgrade --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ab0bb25e..061ccda4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ versionCode = "9" packageName = "com.ninecraft.booket" ## Android gradle plugin -android-gradle-plugin = "8.12.3" +android-gradle-plugin = "9.0.0" ## AndroidX androidx-core = "1.17.0" From 6f20576d56abe465564cb0c962c7f598839a96b2 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Tue, 3 Feb 2026 17:43:38 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[BOOK-494]=20chore:=20AGP=209.0.0=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EC=82=AC=ED=95=AD=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 빌드시 warning 뜨는 문제들 해결 --- app/build.gradle.kts | 2 -- build-logic/build.gradle.kts | 3 -- .../AndroidApplicationConventionPlugin.kt | 6 +--- .../AndroidLibraryComposeConventionPlugin.kt | 2 +- .../kotlin/AndroidLibraryConventionPlugin.kt | 12 ++----- .../kotlin/AndroidRetrofitConventionPlugin.kt | 5 --- .../ninecraft/booket/convention/Android.kt | 12 ++----- .../ninecraft/booket/convention/Compose.kt | 34 +++++++++---------- .../ninecraft/booket/convention/Plugins.kt | 1 - build.gradle.kts | 1 - core/common/build.gradle.kts | 2 -- .../booket/core/common/extensions/Context.kt | 4 +-- .../booket/core/common/utils/UiText.kt | 2 +- core/data/api/build.gradle.kts | 2 -- core/data/impl/build.gradle.kts | 2 -- core/datastore/impl/build.gradle.kts | 2 -- .../DefaultBookRecentSearchDataSource.kt | 2 +- .../DefaultLibraryRecentSearchDataSource.kt | 2 +- .../DefaultNotificationDataSource.kt | 2 +- .../datasource/DefaultOnboardingDataSource.kt | 2 +- core/designsystem/build.gradle.kts | 2 -- core/di/build.gradle.kts | 2 -- core/network/build.gradle.kts | 2 -- core/ocr/build.gradle.kts | 2 -- .../core/ocr/recognizer/CloudOcrRecognizer.kt | 2 +- core/ui/build.gradle.kts | 2 -- feature/detail/build.gradle.kts | 2 -- feature/edit/build.gradle.kts | 2 -- feature/home/build.gradle.kts | 2 -- feature/library/build.gradle.kts | 2 -- feature/login/build.gradle.kts | 2 -- feature/main/build.gradle.kts | 2 -- feature/onboarding/build.gradle.kts | 2 -- feature/record/build.gradle.kts | 2 -- .../feature/screens/component/MainTab.kt | 6 ++-- feature/search/build.gradle.kts | 2 -- feature/settings/build.gradle.kts | 2 -- feature/splash/build.gradle.kts | 2 -- feature/webview/build.gradle.kts | 2 -- gradle/libs.versions.toml | 20 +++++------ gradle/wrapper/gradle-wrapper.properties | 5 +-- 41 files changed, 46 insertions(+), 121 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 38c76079..a3c0a89a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - import com.google.devtools.ksp.gradle.KspExtension import com.ninecraft.booket.convention.getLocalProperty import org.gradle.kotlin.dsl.configure diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index e2d61206..baa39c41 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -1,5 +1,3 @@ -@Suppress("DSL_SCOPE_VIOLATION", "INLINE_FROM_HIGHER_PLATFORM") - plugins { `kotlin-dsl` alias(libs.plugins.gradle.dependency.handler.extensions) @@ -7,7 +5,6 @@ plugins { dependencies { compileOnly(libs.android.gradle.plugin) - compileOnly(libs.kotlin.gradle.plugin) compileOnly(libs.compose.compiler.gradle.plugin) compileOnly(libs.ksp.gradle.plugin) implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) diff --git a/build-logic/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/src/main/kotlin/AndroidApplicationConventionPlugin.kt index d31a051b..68c6124d 100644 --- a/build-logic/src/main/kotlin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/src/main/kotlin/AndroidApplicationConventionPlugin.kt @@ -1,5 +1,4 @@ import com.android.build.api.dsl.ApplicationExtension -import com.ninecraft.booket.convention.ApplicationConstants import com.ninecraft.booket.convention.Plugins import com.ninecraft.booket.convention.applyPlugins import com.ninecraft.booket.convention.configureAndroid @@ -11,10 +10,7 @@ import org.gradle.kotlin.dsl.configure internal class AndroidApplicationConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - applyPlugins( - Plugins.ANDROID_APPLICATION, - Plugins.KOTLIN_ANDROID, - ) + applyPlugins(Plugins.ANDROID_APPLICATION) extensions.configure { configureAndroid(this) diff --git a/build-logic/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt b/build-logic/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt index 2a912fcf..9ea25a84 100644 --- a/build-logic/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt +++ b/build-logic/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt @@ -1,4 +1,4 @@ -import com.android.build.gradle.LibraryExtension +import com.android.build.api.dsl.LibraryExtension import com.ninecraft.booket.convention.Plugins import com.ninecraft.booket.convention.applyPlugins import com.ninecraft.booket.convention.configureCompose diff --git a/build-logic/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/src/main/kotlin/AndroidLibraryConventionPlugin.kt index b430d6b9..a0bfc321 100644 --- a/build-logic/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -1,8 +1,7 @@ -import com.android.build.gradle.LibraryExtension +import com.android.build.api.dsl.LibraryExtension import com.ninecraft.booket.convention.Plugins import com.ninecraft.booket.convention.applyPlugins import com.ninecraft.booket.convention.configureAndroid -import com.ninecraft.booket.convention.libs import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure @@ -10,17 +9,10 @@ import org.gradle.kotlin.dsl.configure internal class AndroidLibraryConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - applyPlugins( - Plugins.ANDROID_LIBRARY, - Plugins.KOTLIN_ANDROID, - ) + applyPlugins(Plugins.ANDROID_LIBRARY) extensions.configure { configureAndroid(this) - - defaultConfig.apply { - targetSdk = libs.versions.targetSdk.get().toInt() - } } } } diff --git a/build-logic/src/main/kotlin/AndroidRetrofitConventionPlugin.kt b/build-logic/src/main/kotlin/AndroidRetrofitConventionPlugin.kt index 3de91288..500f4c69 100644 --- a/build-logic/src/main/kotlin/AndroidRetrofitConventionPlugin.kt +++ b/build-logic/src/main/kotlin/AndroidRetrofitConventionPlugin.kt @@ -1,13 +1,8 @@ -import com.android.build.gradle.LibraryExtension -import com.ninecraft.booket.convention.ApplicationConstants -import com.ninecraft.booket.convention.Plugins import com.ninecraft.booket.convention.applyPlugins -import com.ninecraft.booket.convention.configureAndroid import com.ninecraft.booket.convention.implementation import com.ninecraft.booket.convention.libs import org.gradle.api.Plugin import org.gradle.api.Project -import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies internal class AndroidRetrofitConventionPlugin : Plugin { diff --git a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt index b02d0b99..5855a4f0 100644 --- a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt +++ b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt @@ -2,27 +2,21 @@ package com.ninecraft.booket.convention import com.android.build.api.dsl.CommonExtension import org.gradle.api.Project -import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies -import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension -internal fun Project.configureAndroid(extension: CommonExtension<*, *, *, *, *, *>) { +internal fun Project.configureAndroid(extension: CommonExtension) { extension.apply { compileSdk = libs.versions.compileSdk.get().toInt() - defaultConfig { + defaultConfig.apply { minSdk = libs.versions.minSdk.get().toInt() } - compileOptions { + compileOptions.apply { sourceCompatibility = ApplicationConstants.javaVersion targetCompatibility = ApplicationConstants.javaVersion } - extensions.configure { - jvmToolchain(ApplicationConstants.JAVA_VERSION_INT) - } - dependencies { detektPlugins(libs.detekt.formatting) } diff --git a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Compose.kt b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Compose.kt index b8e446c5..57dd4f5a 100644 --- a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Compose.kt +++ b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Compose.kt @@ -5,36 +5,34 @@ import org.gradle.api.Project import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.withType -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -internal fun Project.configureCompose( - extension: CommonExtension<*, *, *, *, *, *>, -) { +internal fun Project.configureCompose(extension: CommonExtension) { extension.apply { dependencies { implementation(platform(libs.androidx.compose.bom)) implementation(libs.bundles.androidx.compose) debugImplementation(libs.androidx.compose.ui.tooling) } + } - configure { - includeSourceInformation.set(true) + extensions.configure { + includeSourceInformation.set(true) - metricsDestination.file("build/composeMetrics") - reportsDestination.file("build/composeReports") + metricsDestination.file("build/composeMetrics") + reportsDestination.file("build/composeReports") - stabilityConfigurationFiles.addAll( - project.rootProject.layout.projectDirectory.file("stability.config.conf"), - ) - } + stabilityConfigurationFiles.addAll( + project.rootProject.layout.projectDirectory.file("stability.config.conf"), + ) + } - tasks.withType().configureEach { - compilerOptions { - freeCompilerArgs.addAll( - buildComposeMetricsParameters(), - ) - } + tasks.withType().configureEach { + compilerOptions { + freeCompilerArgs.addAll( + buildComposeMetricsParameters(), + ) } } } diff --git a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Plugins.kt b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Plugins.kt index d5407c69..3189adc1 100644 --- a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Plugins.kt +++ b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Plugins.kt @@ -4,7 +4,6 @@ object Plugins { const val JAVA_LIBRARY = "java-library" const val KOTLIN_JVM = "org.jetbrains.kotlin.jvm" - const val KOTLIN_ANDROID = "org.jetbrains.kotlin.android" const val KOTLINX_SERIALIZATION = "org.jetbrains.kotlin.plugin.serialization" const val KOTLIN_COMPOSE = "org.jetbrains.kotlin.plugin.compose" diff --git a/build.gradle.kts b/build.gradle.kts index 26975e45..ea8a6f79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,6 @@ plugins { alias(libs.plugins.kotlin.ktlint) alias(libs.plugins.compose.stability.analyzer) apply false alias(libs.plugins.kotlin.parcelize) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.kotlin.serialization) apply false alias(libs.plugins.android.application) apply false diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index 95323238..a6af401e 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) alias(libs.plugins.booket.android.library.compose) diff --git a/core/common/src/main/kotlin/com/ninecraft/booket/core/common/extensions/Context.kt b/core/common/src/main/kotlin/com/ninecraft/booket/core/common/extensions/Context.kt index 17b29ffa..44413134 100644 --- a/core/common/src/main/kotlin/com/ninecraft/booket/core/common/extensions/Context.kt +++ b/core/common/src/main/kotlin/com/ninecraft/booket/core/common/extensions/Context.kt @@ -3,7 +3,7 @@ package com.ninecraft.booket.core.common.extensions import android.content.ContentValues import android.content.Context import android.content.Intent -import androidx.core.net.toUri +import android.net.Uri import com.ninecraft.booket.core.common.BuildConfig import android.graphics.Bitmap import android.os.Build @@ -62,6 +62,6 @@ fun Context.saveImageToGallery(bitmap: ImageBitmap) { fun Context.openPlayStore() { val intent = - Intent(Intent.ACTION_VIEW, "market://details?id=${BuildConfig.PACKAGE_NAME}".toUri()) + Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=${BuildConfig.PACKAGE_NAME}")) startActivity(intent) } diff --git a/core/common/src/main/kotlin/com/ninecraft/booket/core/common/utils/UiText.kt b/core/common/src/main/kotlin/com/ninecraft/booket/core/common/utils/UiText.kt index bfe3bbf5..21d24501 100644 --- a/core/common/src/main/kotlin/com/ninecraft/booket/core/common/utils/UiText.kt +++ b/core/common/src/main/kotlin/com/ninecraft/booket/core/common/utils/UiText.kt @@ -10,7 +10,7 @@ sealed class UiText { data class DirectString(val value: String) : UiText() class StringResource( - @StringRes val resId: Int, + @param: StringRes val resId: Int, vararg val args: Any, ) : UiText() diff --git a/core/data/api/build.gradle.kts b/core/data/api/build.gradle.kts index 59fe2e1f..d719aaa1 100644 --- a/core/data/api/build.gradle.kts +++ b/core/data/api/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) } diff --git a/core/data/impl/build.gradle.kts b/core/data/impl/build.gradle.kts index 20efcadc..b34221ae 100644 --- a/core/data/impl/build.gradle.kts +++ b/core/data/impl/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) alias(libs.plugins.metro) diff --git a/core/datastore/impl/build.gradle.kts b/core/datastore/impl/build.gradle.kts index 303441c8..9523e9ea 100644 --- a/core/datastore/impl/build.gradle.kts +++ b/core/datastore/impl/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) alias(libs.plugins.metro) diff --git a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultBookRecentSearchDataSource.kt b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultBookRecentSearchDataSource.kt index 40bab5fd..a81a73a6 100644 --- a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultBookRecentSearchDataSource.kt +++ b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultBookRecentSearchDataSource.kt @@ -19,7 +19,7 @@ import kotlinx.serialization.json.Json @SingleIn(DataScope::class) @Inject class DefaultBookRecentSearchDataSource( - @BookRecentSearchDataStore private val dataStore: DataStore, + @param: BookRecentSearchDataStore private val dataStore: DataStore, ) : BookRecentSearchDataSource { override val recentSearches: Flow> = dataStore.data .handleIOException() diff --git a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultLibraryRecentSearchDataSource.kt b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultLibraryRecentSearchDataSource.kt index ef0e322d..0097e912 100644 --- a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultLibraryRecentSearchDataSource.kt +++ b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultLibraryRecentSearchDataSource.kt @@ -19,7 +19,7 @@ import kotlinx.serialization.json.Json @SingleIn(DataScope::class) @Inject class DefaultLibraryRecentSearchDataSource( - @LibraryRecentSearchDataStore private val dataStore: DataStore, + @param: LibraryRecentSearchDataStore private val dataStore: DataStore, ) : LibraryRecentSearchDataSource { override val recentSearches: Flow> = dataStore.data .handleIOException() diff --git a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultNotificationDataSource.kt b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultNotificationDataSource.kt index 1e8d2879..4694d9cc 100644 --- a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultNotificationDataSource.kt +++ b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultNotificationDataSource.kt @@ -16,7 +16,7 @@ import kotlinx.coroutines.flow.map @SingleIn(DataScope::class) @Inject class DefaultNotificationDataSource( - @NotificationDataStore private val dataStore: DataStore, + @param: NotificationDataStore private val dataStore: DataStore, ) : NotificationDataSource { override val isUserNotificationEnabled: Flow = dataStore.data .handleIOException() diff --git a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultOnboardingDataSource.kt b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultOnboardingDataSource.kt index 1c0521bd..73ff6bd5 100644 --- a/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultOnboardingDataSource.kt +++ b/core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/datasource/DefaultOnboardingDataSource.kt @@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.map @SingleIn(DataScope::class) @Inject class DefaultOnboardingDataSource( - @OnboardingDataStore private val dataStore: DataStore, + @param: OnboardingDataStore private val dataStore: DataStore, ) : OnboardingDataSource { override val onboardingState: Flow = dataStore.data .handleIOException() diff --git a/core/designsystem/build.gradle.kts b/core/designsystem/build.gradle.kts index ba6696b4..239ca8ee 100644 --- a/core/designsystem/build.gradle.kts +++ b/core/designsystem/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) alias(libs.plugins.booket.android.library.compose) diff --git a/core/di/build.gradle.kts b/core/di/build.gradle.kts index 2755c345..70617c98 100644 --- a/core/di/build.gradle.kts +++ b/core/di/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) alias(libs.plugins.metro) diff --git a/core/network/build.gradle.kts b/core/network/build.gradle.kts index 9879fab4..fa810cd1 100644 --- a/core/network/build.gradle.kts +++ b/core/network/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - import com.ninecraft.booket.convention.getLocalProperty diff --git a/core/ocr/build.gradle.kts b/core/ocr/build.gradle.kts index b9cd6968..8fc0d117 100644 --- a/core/ocr/build.gradle.kts +++ b/core/ocr/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - import com.ninecraft.booket.convention.getLocalProperty plugins { diff --git a/core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/recognizer/CloudOcrRecognizer.kt b/core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/recognizer/CloudOcrRecognizer.kt index 5e0c8d66..94dd4522 100644 --- a/core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/recognizer/CloudOcrRecognizer.kt +++ b/core/ocr/src/main/kotlin/com/ninecraft/booket/core/ocr/recognizer/CloudOcrRecognizer.kt @@ -23,7 +23,7 @@ import com.ninecraft.booket.core.di.DataScope @SingleIn(DataScope::class) @Inject class CloudOcrRecognizer( - @ApplicationContext private val context: Context, + @param: ApplicationContext private val context: Context, private val service: CloudVisionService, ) { suspend fun recognizeText(imageUri: Uri): Result = runSuspendCatching { diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index 9e0af88a..372c7946 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.library) alias(libs.plugins.booket.android.library.compose) diff --git a/feature/detail/build.gradle.kts b/feature/detail/build.gradle.kts index de465599..873428e1 100644 --- a/feature/detail/build.gradle.kts +++ b/feature/detail/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.booket.kotlin.library.serialization) diff --git a/feature/edit/build.gradle.kts b/feature/edit/build.gradle.kts index f22b6c1b..36b5e63c 100644 --- a/feature/edit/build.gradle.kts +++ b/feature/edit/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.booket.kotlin.library.serialization) diff --git a/feature/home/build.gradle.kts b/feature/home/build.gradle.kts index ebfdd6f2..332195b5 100644 --- a/feature/home/build.gradle.kts +++ b/feature/home/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.kotlin.serialization) diff --git a/feature/library/build.gradle.kts b/feature/library/build.gradle.kts index 6c34df6e..c8960459 100644 --- a/feature/library/build.gradle.kts +++ b/feature/library/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.kotlin.serialization) diff --git a/feature/login/build.gradle.kts b/feature/login/build.gradle.kts index c3e098b8..b4790411 100644 --- a/feature/login/build.gradle.kts +++ b/feature/login/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - import com.ninecraft.booket.convention.getLocalProperty plugins { diff --git a/feature/main/build.gradle.kts b/feature/main/build.gradle.kts index 05a1bb32..34369710 100644 --- a/feature/main/build.gradle.kts +++ b/feature/main/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) } diff --git a/feature/onboarding/build.gradle.kts b/feature/onboarding/build.gradle.kts index d3c9277a..7038431e 100644 --- a/feature/onboarding/build.gradle.kts +++ b/feature/onboarding/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.kotlin.serialization) diff --git a/feature/record/build.gradle.kts b/feature/record/build.gradle.kts index b3056c2c..83a99665 100644 --- a/feature/record/build.gradle.kts +++ b/feature/record/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.kotlin.serialization) diff --git a/feature/screens/src/main/kotlin/com/ninecraft/booket/feature/screens/component/MainTab.kt b/feature/screens/src/main/kotlin/com/ninecraft/booket/feature/screens/component/MainTab.kt index 2395c416..d4c220bf 100644 --- a/feature/screens/src/main/kotlin/com/ninecraft/booket/feature/screens/component/MainTab.kt +++ b/feature/screens/src/main/kotlin/com/ninecraft/booket/feature/screens/component/MainTab.kt @@ -8,9 +8,9 @@ import com.ninecraft.booket.feature.screens.R import com.slack.circuit.runtime.screen.Screen enum class MainTab( - @DrawableRes val iconResId: Int, - @DrawableRes val selectedIconResId: Int, - @StringRes val labelResId: Int, + @param: DrawableRes val iconResId: Int, + @param: DrawableRes val selectedIconResId: Int, + @param: StringRes val labelResId: Int, internal val contentDescription: String, val screen: Screen, ) { diff --git a/feature/search/build.gradle.kts b/feature/search/build.gradle.kts index 19632fa8..533a07eb 100644 --- a/feature/search/build.gradle.kts +++ b/feature/search/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - import com.ninecraft.booket.convention.getLocalProperty diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts index eedc0280..c9a088ca 100644 --- a/feature/settings/build.gradle.kts +++ b/feature/settings/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.booket.kotlin.library.serialization) diff --git a/feature/splash/build.gradle.kts b/feature/splash/build.gradle.kts index 832cbd8a..096b3690 100644 --- a/feature/splash/build.gradle.kts +++ b/feature/splash/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) } diff --git a/feature/webview/build.gradle.kts b/feature/webview/build.gradle.kts index 377d1c56..3c7ff93c 100644 --- a/feature/webview/build.gradle.kts +++ b/feature/webview/build.gradle.kts @@ -1,5 +1,3 @@ -@file:Suppress("INLINE_FROM_HIGHER_PLATFORM") - plugins { alias(libs.plugins.booket.android.feature) alias(libs.plugins.booket.kotlin.library.serialization) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 061ccda4..b442b099 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,14 +12,14 @@ android-gradle-plugin = "9.0.0" ## AndroidX androidx-core = "1.17.0" -androidx-activity-compose = "1.12.2" +androidx-activity-compose = "1.12.3" androidx-startup = "1.2.0" androidx-splash = "1.2.0" androidx-datastore = "1.2.0" -androidx-camera = "1.5.2" +androidx-camera = "1.5.3" ## Compose -androidx-compose-bom = "2026.01.00" +androidx-compose-bom = "2026.01.01" androidx-compose-material3 = "1.4.0" compose-stable-marker = "1.0.7" compose-effects = "0.1.4" @@ -31,11 +31,11 @@ ksp = "2.3.4" ## Kotlin kotlin = "2.3.0" kotlinx-coroutines = "1.10.2" -kotlinx-serialization-json = "1.9.0" +kotlinx-serialization-json = "1.10.0" kotlinx-collections-immutable = "0.4.0" ## Metro -metro = "0.9.4" +metro = "0.10.2" ## Network okhttp = "5.3.2" @@ -51,12 +51,12 @@ logger = "2.2.0" kakao-core = "2.23.2" ## Google Credential Manager -androidx-credentials = "1.6.0-beta03" -googleid = "1.1.1" +androidx-credentials = "1.6.0-rc01" +googleid = "1.2.0" ## Image Load coil-compose = "2.7.0" -landscapist = "2.8.2" +landscapist = "2.9.0" ## Lottie lottie = "6.7.1" @@ -78,12 +78,11 @@ androidx-test-runner = "1.7.0" ## Firebase google-service = "4.4.4" -firebase-bom = "34.7.0" +firebase-bom = "34.8.0" firebase-crashlytics = "3.0.6" [libraries] android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-gradle-plugin" } -kotlin-gradle-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } compose-compiler-gradle-plugin = { group = "org.jetbrains.kotlin", name = "compose-compiler-gradle-plugin", version.ref = "kotlin" } ksp-gradle-plugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" } @@ -162,7 +161,6 @@ android-application = { id = "com.android.application", version.ref = "android-g android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" } android-test = { id = "com.android.test", version.ref = "android-gradle-plugin" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 70a31fa7..04d28129 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Fri Jun 13 20:04:35 KST 2025 +#Tue Feb 03 16:01:18 KST 2026 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 8648d951625b3fc027faa63c8eb974fa9fe43c02 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Wed, 4 Feb 2026 18:00:05 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[BOOK-494]=20chore:=20=ED=86=A0=EB=81=BC=20?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/kotlin/com/ninecraft/booket/convention/Android.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt index 5855a4f0..b1942498 100644 --- a/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt +++ b/build-logic/src/main/kotlin/com/ninecraft/booket/convention/Android.kt @@ -2,7 +2,10 @@ package com.ninecraft.booket.convention import com.android.build.api.dsl.CommonExtension import org.gradle.api.Project +import org.gradle.kotlin.dsl.withType import org.gradle.kotlin.dsl.dependencies +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile internal fun Project.configureAndroid(extension: CommonExtension) { extension.apply { @@ -17,6 +20,10 @@ internal fun Project.configureAndroid(extension: CommonExtension) { targetCompatibility = ApplicationConstants.javaVersion } + tasks.withType().configureEach { + compilerOptions.jvmTarget.set(JvmTarget.JVM_17) + } + dependencies { detektPlugins(libs.detekt.formatting) }