diff --git a/build.gradle.kts b/build.gradle.kts index 2e559fd7..96da5101 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,4 @@ +import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask import java.util.EnumSet import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent @@ -26,8 +27,28 @@ buildscript { subprojects { apply(plugin = "com.diffplug.spotless") apply(plugin = "com.vanniktech.android.junit.jacoco") + apply(plugin = "com.github.ben-manes.versions") + fun isNonStable(version: String): Boolean { + val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) } + val regex = "^[0-9,.v-]+(-r)?$".toRegex() + val isStable = stableKeyword || regex.matches(version) + return !isStable + } + + fun isStable(version: String) = !isNonStable(version) + + tasks.withType { + rejectVersionIf { + if (isStable(currentVersion)) { + isNonStable(candidate.version) + } else { + false + } + } + } + configure { val EDITOR_CONFIG_KEYS: Set = hashSetOf( "ij_kotlin_imports_layout", @@ -91,7 +112,7 @@ subprojects { } configure { - jacocoVersion = "0.8.7" + jacocoVersion = "0.8.8" includeNoLocationClasses = true includeInstrumentationCoverageInMergedReport = true csv.isEnabled = false diff --git a/buildSrc/src/main/kotlin/deps.kt b/buildSrc/src/main/kotlin/deps.kt index 39c3f9b7..bc08da8f 100644 --- a/buildSrc/src/main/kotlin/deps.kt +++ b/buildSrc/src/main/kotlin/deps.kt @@ -7,7 +7,7 @@ import org.gradle.plugin.use.PluginDependenciesSpec import org.gradle.plugin.use.PluginDependencySpec const val ktlintVersion = "0.45.2" -const val kotlinVersion = "1.7.0" +const val kotlinVersion = "1.7.10" object appConfig { const val applicationId = "com.hoc.flowmvi" @@ -27,16 +27,16 @@ object appConfig { object deps { object androidx { - const val appCompat = "androidx.appcompat:appcompat:1.4.1" - const val coreKtx = "androidx.core:core-ktx:1.7.0" - const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.3" + const val appCompat = "androidx.appcompat:appcompat:1.4.2" + const val coreKtx = "androidx.core:core-ktx:1.8.0" + const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.4" const val recyclerView = "androidx.recyclerview:recyclerview:1.2.1" const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01" - const val material = "com.google.android.material:material:1.6.0" + const val material = "com.google.android.material:material:1.6.1" } object lifecycle { - private const val version = "2.4.0" + private const val version = "2.5.0" const val viewModelKtx = "androidx.lifecycle:lifecycle-viewmodel-ktx:$version" // viewModelScope const val runtimeKtx = "androidx.lifecycle:lifecycle-runtime-ktx:$version" // lifecycleScope @@ -46,13 +46,13 @@ object deps { object squareup { const val retrofit = "com.squareup.retrofit2:retrofit:2.9.0" const val converterMoshi = "com.squareup.retrofit2:converter-moshi:2.9.0" - const val loggingInterceptor = "com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.2" - const val moshiKotlin = "com.squareup.moshi:moshi-kotlin:1.12.0" - const val leakCanary = "com.squareup.leakcanary:leakcanary-android:2.7" + const val loggingInterceptor = "com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.10" + const val moshiKotlin = "com.squareup.moshi:moshi-kotlin:1.13.0" + const val leakCanary = "com.squareup.leakcanary:leakcanary-android:2.9.1" } object coroutines { - private const val version = "1.6.2" + private const val version = "1.6.4" const val core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version" const val android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version" @@ -68,9 +68,9 @@ object deps { const val test = "io.insert-koin:koin-test:$version" } - const val coil = "io.coil-kt:coil:2.0.0-rc03" + const val coil = "io.coil-kt:coil:2.1.0" const val viewBindingDelegate = "com.github.hoc081098:ViewBindingDelegate:1.3.1" - const val flowExt = "io.github.hoc081098:FlowExt:0.4.0-SNAPSHOT" + const val flowExt = "io.github.hoc081098:FlowExt:0.4.0" const val timber = "com.jakewharton.timber:timber:5.0.1" object arrow { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 92f06b50..2ec77e51 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists