From 31d0a472eadec7e6c547f1b91f3b3b14aaa9b1c9 Mon Sep 17 00:00:00 2001 From: Sweetbread Date: Mon, 7 Sep 2026 20:48:25 +0300 Subject: [PATCH] deps: update --- app/build.gradle.kts | 40 +++-------- .../sweetbread/unn/ui/layout/MainActivity.kt | 2 +- build.gradle.kts | 13 +--- gradle.properties | 30 +------- gradle/libs.versions.toml | 70 ++++++++----------- gradle/wrapper/gradle-wrapper.properties | 5 +- 6 files changed, 49 insertions(+), 111 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 15fa898..012e38d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,26 +1,20 @@ // Copyright (c) 2026 Gleb Zaharov. License: GPLv3 (see LICENSE). -import org.jetbrains.kotlin.gradle.dsl.JvmTarget import java.time.LocalDateTime import java.time.format.DateTimeFormatter import java.util.Properties plugins { - alias(libs.plugins.androidApplication) - alias(libs.plugins.jetbrainsKotlinAndroid) + alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) - id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") - id("com.google.devtools.ksp") - id("io.sentry.android.gradle") version "5.5.0" + alias(libs.plugins.ksp) + alias(libs.plugins.sentry.android) } -secrets { - propertiesFileName = "secrets.properties" -} android { namespace = "ru.sweetbread.unn" - compileSdk = 36 + compileSdk = 37 defaultConfig { applicationId = "ru.sweetbread.unn" @@ -73,16 +67,13 @@ android { } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + isCoreLibraryDesugaringEnabled = true } buildFeatures { compose = true - viewBinding = true - buildConfig = true - } - composeOptions { - kotlinCompilerExtensionVersion = "1.5.1" + resValues = true } packaging { resources { @@ -91,18 +82,13 @@ android { } } -kotlin { - compilerOptions { - jvmTarget = JvmTarget.JVM_1_8 - } -} base { archivesName = "ru.sweetbread.unn-v${android.defaultConfig.versionCode}(${android.defaultConfig.versionName})" } dependencies { - implementation(libs.androidx.material.icons.core.android) + implementation(libs.androidx.material.icons.core) coreLibraryDesugaring(libs.desugar.jdk.libs) implementation(libs.androidx.core.ktx) @@ -114,12 +100,8 @@ dependencies { implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) - implementation(libs.androidx.appcompat) - implementation(libs.material) - implementation(libs.androidx.annotation) - implementation(libs.androidx.constraintlayout) - implementation(libs.androidx.lifecycle.livedata.ktx) implementation(libs.androidx.lifecycle.viewmodel.ktx) + implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.activity) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) @@ -130,10 +112,10 @@ dependencies { implementation(libs.androidx.navigation.compose) implementation(libs.ktor.client.core) - implementation(libs.ktor.client.cio) implementation(libs.ktor.client.logging) implementation(libs.ktor.client.android) implementation(libs.coil.compose) + implementation(libs.coil.network.ktor3) implementation(libs.androidx.datastore.preferences) implementation(libs.splitties.base) diff --git a/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt b/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt index 2531701..5c2f3bc 100644 --- a/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt +++ b/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt @@ -57,7 +57,7 @@ import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController -import coil.compose.AsyncImage +import coil3.compose.AsyncImage import kotlinx.coroutines.launch import ru.sweetbread.unn.R import ru.sweetbread.unn.UNNApp diff --git a/build.gradle.kts b/build.gradle.kts index c84e1ef..b0aac75 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,15 +1,8 @@ // Copyright (c) 2026 Gleb Zaharov. License: GPLv3 (see LICENSE). -// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - alias(libs.plugins.androidApplication) apply false - alias(libs.plugins.jetbrainsKotlinAndroid) apply false + alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.compose) apply false - id("com.google.devtools.ksp") version "2.3.2" apply false + alias(libs.plugins.ksp) apply false + alias(libs.plugins.sentry.android) apply false } - -buildscript { - dependencies { - classpath(libs.secrets.gradle.plugin) - } -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 416fc40..b7419b8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,35 +1,7 @@ # Copyright (c) 2026 Gleb Zaharov. License: GPLv3 (see LICENSE). -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. For more details, visit -# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects -# org.gradle.parallel=true -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app's APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn +org.gradle.caching=true android.useAndroidX=true -# Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -# Enables namespacing of each library's R class so that its R class includes only the -# resources declared in the library itself and none from the library's dependencies, -# thereby reducing the size of the R class for that library android.nonTransitiveRClass=true -android.defaults.buildfeatures.resvalues=true -android.sdk.defaultTargetSdkToCompileSdkIfUnset=false -android.enableAppCompileTimeRClass=false -android.usesSdkInManifest.disallowed=false -android.uniquePackageNames=false -android.dependency.useConstraints=true -android.r8.strictFullModeForKeepRules=false -android.r8.optimizedResourceShrinking=false -android.builtInKotlin=false -android.newDsl=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0f2e409..47d2ec1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,70 +1,60 @@ [versions] -agp = "9.0.1" -coilCompose = "2.7.0" -compose = "1.10.3" +agp = "9.3.2" +coil = "3.6.2" coreSplashscreen = "1.2.0" -datastorePreferences = "1.2.0" -desugar_jdk_libs = "2.1.5" -kotlin = "2.3.10" -coreKtx = "1.17.0" +datastorePreferences = "1.2.1" +desugarJdkLibs = "2.1.5" +kotlin = "2.4.20" +ksp = "2.3.11" +coreKtx = "1.19.0" junitVersion = "1.3.0" espressoCore = "3.7.0" -ktor = "3.4.0" -lifecycle = "2.10.0" -activityCompose = "1.12.4" -composeBom = "2026.02.00" -appcompat = "1.7.1" -material = "1.13.0" -annotation = "1.9.1" -constraintlayout = "2.2.1" -activity = "1.12.4" -navigationCompose = "2.9.7" -roomRuntime = "2.8.4" -secretsGradlePlugin = "2.0.1" -sentryAndroid = "8.32.0" +ktor = "3.5.2" +lifecycle = "2.11.0" +activity = "1.13.0" +composeBom = "2026.08.00" +navigationCompose = "2.10.0" +room = "2.8.4" +sentryAndroid = "8.55.0" +sentryGradlePlugin = "6.19.0" splitties = "3.0.0" -materialIconsCoreAndroid = "1.7.8" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "coreSplashscreen" } androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" } androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" } -androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomRuntime" } -androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" } -androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomRuntime" } -coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coilCompose" } -desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" } +androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } +androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" } +androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" } +coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } +coil-network-ktor3 = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" } +desugar-jdk-libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugarJdkLibs" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" } -androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } +androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" } +androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" } +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" } +androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } androidx-ui = { group = "androidx.compose.ui", name = "ui" } androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } -androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose" } +androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } androidx-material3 = { group = "androidx.compose.material3", name = "material3" } -androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +androidx-material-icons-core = { group = "androidx.compose.material", name = "material-icons-core" } ktor-client-android = { module = "io.ktor:ktor-client-android", version.ref = "ktor" } -ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" } -material = { group = "com.google.android.material", name = "material", version.ref = "material" } -androidx-annotation = { group = "androidx.annotation", name = "annotation", version.ref = "annotation" } -androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } -androidx-lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle" } -androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" } -androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } -secrets-gradle-plugin = { module = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin", version.ref = "secretsGradlePlugin" } sentry = { module = "io.sentry:sentry-android", version.ref = "sentryAndroid" } splitties-base = { module = "com.louiscad.splitties:splitties-fun-pack-android-base-with-views-dsl", version.ref = "splitties" } splitties-room = { module = "com.louiscad.splitties:splitties-arch-room", version.ref = "splitties" } -androidx-material-icons-core-android = { group = "androidx.compose.material", name = "material-icons-core-android", version.ref = "materialIconsCoreAndroid" } [plugins] -androidApplication = { id = "com.android.application", version.ref = "agp" } -jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +android-application = { id = "com.android.application", version.ref = "agp" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +sentry-android = { id = "io.sentry.android.gradle", version.ref = "sentryGradlePlugin" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8b69aae..2f9712c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,8 +1,9 @@ # Copyright (c) 2026 Gleb Zaharov. License: GPLv3 (see LICENSE). -#Sat Mar 16 18:30:45 MSK 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists