diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index c5f0d7f9..e3342e04 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -9,6 +9,7 @@ + diff --git a/app-common/build.gradle.kts b/app-common/build.gradle.kts index aa04ed2e..533fb385 100644 --- a/app-common/build.gradle.kts +++ b/app-common/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.library") id("kotlin-android") + id("com.google.devtools.ksp") id("kotlin-kapt") id("kotlin-parcelize") } @@ -84,7 +85,7 @@ android { } dependencies { - coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5") + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5") addBaseAndroid() addBaseAndroidUi() diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f89c936e..33af1160 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") id("kotlin-android") + id("com.google.devtools.ksp") id("kotlin-kapt") id("kotlin-parcelize") } @@ -130,7 +131,7 @@ android { dependencies { implementation(project(":app-common")) - coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3") + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5") addBaseKotlin() diff --git a/app/src/main/java/eu/darken/capod/App.kt b/app/src/main/java/eu/darken/capod/App.kt index ca5ff277..445fd719 100644 --- a/app/src/main/java/eu/darken/capod/App.kt +++ b/app/src/main/java/eu/darken/capod/App.kt @@ -4,9 +4,14 @@ import android.app.Application import androidx.hilt.work.HiltWorkerFactory import androidx.work.Configuration import dagger.hilt.android.HiltAndroidApp +import eu.darken.capod.common.BuildConfigWrap import eu.darken.capod.common.coroutine.AppScope import eu.darken.capod.common.debug.autoreport.AutomaticBugReporter -import eu.darken.capod.common.debug.logging.* +import eu.darken.capod.common.debug.logging.LogCatLogger +import eu.darken.capod.common.debug.logging.Logging +import eu.darken.capod.common.debug.logging.asLog +import eu.darken.capod.common.debug.logging.log +import eu.darken.capod.common.debug.logging.logTag import eu.darken.capod.common.flow.throttleLatest import eu.darken.capod.common.upgrade.UpgradeRepo import eu.darken.capod.main.ui.widget.WidgetManager @@ -62,10 +67,20 @@ open class App : Application(), Configuration.Provider { .launchIn(appScope) } - override fun getWorkManagerConfiguration(): Configuration = Configuration.Builder() - .setMinimumLoggingLevel(android.util.Log.VERBOSE) - .setWorkerFactory(workerFactory) - .build() + + override val workManagerConfiguration: Configuration + get() = Configuration.Builder() + .setMinimumLoggingLevel( + when { + BuildConfigWrap.DEBUG -> android.util.Log.VERBOSE + BuildConfigWrap.BUILD_TYPE == BuildConfigWrap.BuildType.DEV -> android.util.Log.DEBUG + BuildConfigWrap.BUILD_TYPE == BuildConfigWrap.BuildType.BETA -> android.util.Log.INFO + BuildConfigWrap.BUILD_TYPE == BuildConfigWrap.BuildType.RELEASE -> android.util.Log.WARN + else -> android.util.Log.VERBOSE + } + ) + .setWorkerFactory(workerFactory) + .build() companion object { internal val TAG = logTag("CAP") diff --git a/build.gradle.kts b/build.gradle.kts index a0f81c4f..e20b7fa4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,14 @@ +plugins { + id("com.google.devtools.ksp") version "2.1.20-2.0.0" apply false +} + buildscript { repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.1.2") + classpath("com.android.tools.build:gradle:8.10.0") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.Kotlin.core}") classpath("com.google.dagger:hilt-android-gradle-plugin:${Versions.Dagger.core}") classpath("androidx.navigation:navigation-safe-args-gradle-plugin:${Versions.AndroidX.Navigation.core}") diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 174366d0..18e85489 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -8,7 +8,7 @@ repositories { mavenCentral() } dependencies { - implementation("com.android.tools.build:gradle:8.1.2") - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0") + implementation("com.android.tools.build:gradle:8.10.0") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.21") implementation("com.squareup:javapoet:1.13.0") } diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 87a62d56..9767ecc5 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -20,10 +20,10 @@ private fun DependencyHandler.androidTestImplementation(dependencyNotation: Any) private fun DependencyHandler.kaptAndroidTest(dependencyNotation: Any): Dependency? = add("kaptAndroidTest", dependencyNotation) -private fun DependencyHandler.`testRuntimeOnly`(dependencyNotation: Any): Dependency? = +private fun DependencyHandler.testRuntimeOnly(dependencyNotation: Any): Dependency? = add("testRuntimeOnly", dependencyNotation) -private fun DependencyHandler.`debugImplementation`(dependencyNotation: Any): Dependency? = +private fun DependencyHandler.debugImplementation(dependencyNotation: Any): Dependency? = add("debugImplementation", dependencyNotation) fun DependencyHandlerScope.addBaseKotlin() { @@ -63,7 +63,7 @@ fun DependencyHandlerScope.addDagger() { fun DependencyHandlerScope.addMoshi() { implementation("com.squareup.moshi:moshi:${Versions.Moshi.core}") implementation("com.squareup.moshi:moshi-adapters:${Versions.Moshi.core}") - kapt("com.squareup.moshi:moshi-kotlin-codegen:${Versions.Moshi.core}") + add("ksp", "com.squareup.moshi:moshi-kotlin-codegen:${Versions.Moshi.core}") } fun DependencyHandlerScope.addOkio() { @@ -77,10 +77,13 @@ fun DependencyHandlerScope.addNavigation() { } fun DependencyHandlerScope.addBaseWorkManager() { - implementation("androidx.work:work-runtime:${Versions.AndroidX.WorkManager.core}") - testImplementation("androidx.work:work-testing:${Versions.AndroidX.WorkManager.core}") - implementation("androidx.work:work-runtime-ktx:${Versions.AndroidX.WorkManager.core}") + val version = "2.9.0" + implementation("androidx.work:work-runtime:$version") + testImplementation("androidx.work:work-testing:$version") + implementation("androidx.work:work-runtime-ktx:$version") + implementation("androidx.hilt:hilt-work:1.0.0") + kapt("androidx.hilt:hilt-compiler:1.0.0") } fun DependencyHandlerScope.addBaseAndroid() { diff --git a/buildSrc/src/main/java/ProjectConfig.kt b/buildSrc/src/main/java/ProjectConfig.kt index aa4512c1..093963a3 100644 --- a/buildSrc/src/main/java/ProjectConfig.kt +++ b/buildSrc/src/main/java/ProjectConfig.kt @@ -2,13 +2,10 @@ import com.android.build.api.dsl.Packaging import com.android.build.gradle.LibraryExtension import org.gradle.api.Action import org.gradle.api.JavaVersion -import org.gradle.api.Project -import org.gradle.kotlin.dsl.apply -import org.gradle.kotlin.dsl.extra import java.io.File import java.io.FileInputStream import java.time.Instant -import java.util.* +import java.util.Properties object ProjectConfig { const val packageName = "eu.darken.capod" @@ -75,7 +72,7 @@ fun LibraryExtension.setupLibraryDefaults() { } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" freeCompilerArgs = freeCompilerArgs + listOf( "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", "-opt-in=kotlinx.coroutines.FlowPreview", diff --git a/buildSrc/src/main/java/Versions.kt b/buildSrc/src/main/java/Versions.kt index e608adc2..73ca4ab5 100644 --- a/buildSrc/src/main/java/Versions.kt +++ b/buildSrc/src/main/java/Versions.kt @@ -1,35 +1,27 @@ object Versions { object Kotlin { - const val core = "1.9.10" - const val coroutines = "1.7.3" - } - - object Dokka { - const val core = "1.6.21" + const val core = "2.1.21" + const val coroutines = "1.8.0" } object Dagger { - const val core = "2.48.1" + const val core = "2.56.2" } object Moshi { - const val core = "1.14.0" + const val core = "1.15.2" } object AndroidX { const val core = "" object Navigation { - const val core = "2.7.3" + const val core = "2.9.0" } object Testing { const val coreKtx = "1.4.0" } - - object WorkManager { - const val core = "2.8.1" - } } object Junit { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3be66318..57a36b5e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue May 16 07:17:06 CEST 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists