From d2524f5b58293f4634cc06dd3758f51e28482da5 Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sun, 15 Oct 2023 09:38:52 +0200 Subject: [PATCH] Bump versions of dependencies --- .../gq/kirmanak/mealient/AndroidCompose.kt | 22 +----- .../kotlin/gq/kirmanak/mealient/Extensions.kt | 29 +++++++ .../gq/kirmanak/mealient/KotlinAndroid.kt | 12 ++- .../kotlin/gq/kirmanak/mealient/Versions.kt | 4 +- build.gradle.kts | 1 + gradle.properties | 5 +- gradle/libs.versions.toml | 77 ++++++++++--------- gradle/wrapper/gradle-wrapper.properties | 4 +- settings.gradle.kts | 4 + 9 files changed, 87 insertions(+), 71 deletions(-) create mode 100644 build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Extensions.kt diff --git a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/AndroidCompose.kt b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/AndroidCompose.kt index 538a8a31..95e627fc 100644 --- a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/AndroidCompose.kt +++ b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/AndroidCompose.kt @@ -3,18 +3,11 @@ package gq.kirmanak.mealient import com.android.build.api.dsl.CommonExtension import com.android.build.gradle.LibraryExtension import com.android.build.gradle.internal.dsl.BaseAppModuleExtension -import org.gradle.api.Action -import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.Project -import org.gradle.api.artifacts.MinimalExternalModuleDependency -import org.gradle.api.plugins.ExtensionAware -import org.gradle.api.provider.Provider import org.gradle.kotlin.dsl.dependencies -import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension -import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet internal fun Project.configureAndroidCompose( - commonExtension: CommonExtension<*, *, *, *>, + commonExtension: CommonExtension<*, *, *, *, *>, ) { val variants = when (commonExtension) { is BaseAppModuleExtension -> commonExtension.applicationVariants @@ -59,16 +52,3 @@ internal fun Project.configureAndroidCompose( } } } - -private fun Project.library(name: String): Provider { - return libs.findLibrary(name).get() -} - -private val Project.kotlin: KotlinAndroidProjectExtension - get() = (this as ExtensionAware).extensions.getByName("kotlin") as KotlinAndroidProjectExtension - -private fun KotlinAndroidProjectExtension.sourceSets(configure: Action>): Unit = - (this as ExtensionAware).extensions.configure("sourceSets", configure) - - - diff --git a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Extensions.kt b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Extensions.kt new file mode 100644 index 00000000..24c95d9f --- /dev/null +++ b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Extensions.kt @@ -0,0 +1,29 @@ +package gq.kirmanak.mealient + +import com.android.build.api.dsl.CommonExtension +import org.gradle.api.Action +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.Project +import org.gradle.api.artifacts.MinimalExternalModuleDependency +import org.gradle.api.plugins.ExtensionAware +import org.gradle.api.provider.Provider +import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension +import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions +import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet + +internal val Project.kotlin: KotlinAndroidProjectExtension + get() = (this as ExtensionAware).extensions.getByName("kotlin") as KotlinAndroidProjectExtension + +internal fun Project.kotlin(configure: Action): Unit = + (this as ExtensionAware).extensions.configure("kotlin", configure) + +internal fun KotlinAndroidProjectExtension.sourceSets(configure: Action>): Unit = + (this as ExtensionAware).extensions.configure("sourceSets", configure) + +internal fun Project.library(name: String): Provider { + return libs.findLibrary(name).get() +} + +internal fun CommonExtension<*, *, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { + (this as ExtensionAware).extensions.configure("kotlinOptions", block) +} diff --git a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/KotlinAndroid.kt b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/KotlinAndroid.kt index e8549cf0..db225597 100644 --- a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/KotlinAndroid.kt +++ b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/KotlinAndroid.kt @@ -4,12 +4,10 @@ package gq.kirmanak.mealient import com.android.build.api.dsl.CommonExtension import org.gradle.api.Project -import org.gradle.api.plugins.ExtensionAware import org.gradle.kotlin.dsl.dependencies -import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions internal fun Project.configureKotlinAndroid( - commonExtension: CommonExtension<*, *, *, *>, + commonExtension: CommonExtension<*, *, *, *, *>, ) { commonExtension.apply { compileSdk = Versions.COMPILE_SDK_VERSION @@ -72,8 +70,8 @@ internal fun Project.configureKotlinAndroid( add("coreLibraryDesugaring", libs.findLibrary("android-tools-desugar").get()) } } -} -fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) { - (this as ExtensionAware).extensions.configure("kotlinOptions", block) -} \ No newline at end of file + kotlin { + jvmToolchain(17) + } +} diff --git a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Versions.kt b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Versions.kt index db4359f4..697ab061 100644 --- a/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Versions.kt +++ b/build-logic/convention/src/main/kotlin/gq/kirmanak/mealient/Versions.kt @@ -7,8 +7,8 @@ import org.gradle.kotlin.dsl.getByType object Versions { const val MIN_SDK_VERSION = 26 - const val TARGET_SDK_VERSION = 33 - const val COMPILE_SDK_VERSION = 33 + const val TARGET_SDK_VERSION = 34 + const val COMPILE_SDK_VERSION = 34 } val Project.libs: VersionCatalog diff --git a/build.gradle.kts b/build.gradle.kts index fe66c87a..0365aeac 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,7 @@ buildscript { plugins { alias(libs.plugins.sonarqube) + alias(libs.plugins.ksp) apply false } sonarqube { diff --git a/gradle.properties b/gradle.properties index f460af73..a47b47cb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,4 +4,7 @@ org.gradle.caching=true android.useAndroidX=true android.enableJetifier=false kotlin.code.style=official -kapt.incremental.apt=true \ No newline at end of file +kapt.incremental.apt=true +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9063fe5c..bf64cc58 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,24 +1,24 @@ [versions] # https://maven.google.com/web/index.html?q=com.android.tools.build#com.android.tools.build:gradle -androidGradlePlugin = "7.4.2" +androidGradlePlugin = "8.1.2" # https://github.com/JetBrains/kotlin/releases -kotlin = "1.8.22" +kotlin = "1.9.10" # https://developer.android.com/jetpack/androidx/releases/navigation -googleNavigation = "2.5.3" +googleNavigation = "2.7.4" # https://dagger.dev/hilt/gradle-setup -hilt = "2.45" +hilt = "2.48.1" # https://github.com/protocolbuffers/protobuf/releases -protobuf = "3.22.2" +protobuf = "3.24.4" # https://github.com/google/protobuf-gradle-plugin/releases -protobufPlugin = "0.9.1" +protobufPlugin = "0.9.4" # https://plugins.gradle.org/plugin/org.sonarqube -sonarqube = "4.0.0.2929" +sonarqube = "4.4.1.3373" # https://plugins.gradle.org/plugin/com.guardsquare.appsweep -appsweep = "1.4.0" +appsweep = "1.5.2" # https://github.com/material-components/material-components-android/releases -material = "1.8.0" +material = "1.10.0" # https://developer.android.com/kotlin/ktx#core -coreKtx = "1.9.0" +coreKtx = "1.12.0" # https://developer.android.com/jetpack/androidx/releases/appcompat appcompat = "1.6.1" # https://developer.android.com/jetpack/androidx/releases/constraintlayout @@ -26,27 +26,27 @@ contraintLayout = "2.1.4" # https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout swipeRefreshLayout = "1.1.0" # https://developer.android.com/jetpack/androidx/releases/core -splashScreen = "1.0.0" +splashScreen = "1.0.1" # https://developer.android.com/jetpack/androidx/releases/lifecycle -lifecycle = "2.6.1" +lifecycle = "2.6.2" # https://developer.android.com/jetpack/androidx/releases/arch-core coreTesting = "2.2.0" # https://github.com/square/retrofit/tags retrofit = "2.9.0" # https://github.com/JakeWharton/retrofit2-kotlinx-serialization-converter/tags -retrofitKotlinxSerialization = "0.8.0" +retrofitKotlinxSerialization = "1.0.0" # https://github.com/Kotlin/kotlinx.serialization/releases -kotlinxSerialization = "1.5.0" +kotlinxSerialization = "1.6.0" # https://github.com/square/okhttp/tags -okhttp = "4.10.0" +okhttp = "4.11.0" # https://developer.android.com/jetpack/androidx/releases/paging -paging = "3.1.1" +paging = "3.2.1" # https://developer.android.com/jetpack/androidx/releases/room -room = "2.5.1" +room = "2.5.2" # https://github.com/Kotlin/kotlinx-datetime/releases -kotlinxDatetime = "0.4.0" +kotlinxDatetime = "0.4.1" # https://github.com/bumptech/glide/releases -glide = "4.15.1" +glide = "4.16.0" # https://github.com/androidbroadcast/ViewBindingPropertyDelegate/releases viewBindingDelegate = "1.5.9" # https://developer.android.com/jetpack/androidx/releases/datastore @@ -58,39 +58,40 @@ junit = "4.13.2" # https://developer.android.com/jetpack/androidx/releases/test junitKtx = "1.1.5" # https://github.com/Kotlin/kotlinx.coroutines/releases -coroutines = "1.6.4" +coroutines = "1.7.3" # https://github.com/robolectric/robolectric/releases -robolectric = "4.9.2" +robolectric = "4.10.3" # https://mvnrepository.com/artifact/com.google.truth/truth -truth = "1.1.3" +truth = "1.1.5" # https://mockk.io/ -mockk = "1.13.4" +mockk = "1.13.8" # https://github.com/square/leakcanary/releases -leakcanary = "2.10" +leakcanary = "2.12" # https://github.com/ChuckerTeam/chucker/releases -chucker = "3.5.2" +chucker = "4.0.0" # https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md desugar = "2.0.3" # https://github.com/google/ksp/releases -kspPlugin = "1.8.22-1.0.11" +kspPlugin = "1.9.10-1.0.13" # https://developer.android.com/jetpack/androidx/releases/sharetarget shareTarget = "1.2.0" # https://github.com/KasperskyLab/Kaspresso/releases -kaspresso = "1.5.1" -# https://developer.android.com/jetpack/androidx/releases/test -androidXTest = "1.5.0" +kaspresso = "1.5.3" # https://developer.android.com/jetpack/androidx/releases/test +androidXTestCore = "1.5.0" +androidXTestRules = "1.5.0" +androidXTestRunner = "1.5.2" androidXTestOrchestrator = "1.4.2" # https://mvnrepository.com/artifact/androidx.compose/compose-bom -composeBom = "2023.06.01" +composeBom = "2023.09.02" # https://developer.android.com/jetpack/androidx/releases/compose-kotlin -composeKotlinCompilerExtension = "1.4.8" +composeKotlinCompilerExtension = "1.5.3" # https://google.github.io/accompanist/ -accompanistVersion = "0.30.1" +accompanistVersion = "0.32.0" # https://developer.android.com/jetpack/androidx/releases/compose-material -materialCompose = "1.4.3" -# https://composedestinations.rafaelcosta.xyz/setup -composeDestinations = "1.8.42-beta" +materialCompose = "1.5.3" +# https://github.com/raamcosta/compose-destinations +composeDestinations = "1.9.54" # https://mvnrepository.com/artifact/androidx.hilt/hilt-navigation-compose hiltNavigationCompose = "1.0.0" @@ -165,9 +166,9 @@ androidx-room-testing = { group = "androidx.room", name = "room-testing", versio androidx-test-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "junitKtx" } androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "security" } -androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidXTest" } -androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidXTest" } -androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidXTest" } +androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidXTestCore" } +androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidXTestRules" } +androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidXTestRunner" } androidx-test-orchestrator = { group = "androidx.test", name = "orchestrator", version.ref = "androidXTestOrchestrator" } jakewharton-retrofitSerialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofitKotlinxSerialization" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b916c04d..5b5c106f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionSha256Sum=3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index 1f28dcde..1256298a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,6 +9,10 @@ pluginManagement { } } +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version("0.7.0") +} + dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories {