diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 830ad391..e1493120 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -31,7 +31,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: 17 + java-version: 21 - uses: gradle/actions/setup-gradle@v4 # Initializes the CodeQL tools for scanning. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 47c7c63d..2f839265 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: 17 + java-version: 21 - uses: gradle/actions/setup-gradle@v4 - name: Prepare keystore diff --git a/.github/workflows/test-dev.yml b/.github/workflows/test-dev.yml index 7463e550..183304e3 100644 --- a/.github/workflows/test-dev.yml +++ b/.github/workflows/test-dev.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: 17 + java-version: 21 - uses: gradle/actions/setup-gradle@v4 - name: Check @@ -39,7 +39,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: 17 + java-version: 21 - uses: gradle/actions/setup-gradle@v4 - name: Enable KVM group perms diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2352ed86..930669fd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -34,8 +34,12 @@ android { compileOptions { isCoreLibraryDesugaringEnabled = true - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + } + + kotlinOptions { + jvmTarget = "21" } buildFeatures { @@ -83,9 +87,6 @@ android { disable.addAll( listOf("ExtraTranslation", "MissingTranslation", "InvalidPackage", "OnClick") ) - // TODO: Remove on the next Compose release, should be fixed - // Maybe related to https://issuetracker.google.com/issues/298483892 - disable += "CoroutineCreationDuringComposition" } packaging { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b068f791..dbbe0196 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,8 +12,6 @@ androidx-test-runner = "1.6.2" androidx-work = "2.10.0" bitfire-cert4android = "f0964cb" bitfire-ical4android = "505f74771e" -# Keep in sync with Kotlin version: https://developer.android.com/jetpack/androidx/releases/compose-kotlin -compose-compiler = "1.5.14" compose-dialogs = "1.3.0" compose-material = "1.7.6" compose-material3 = "1.3.1" @@ -59,6 +57,7 @@ junit = { module = "junit:junit", version.ref = "junit" } kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } okhttp-base = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } okhttp-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" } +# Use okhttp-coroutines and remove "Call.executeAsync" calls once OkHttp 5.0 stable is released okhttp-coroutines = { module = "com.squareup.okhttp3:okhttp-coroutines", version.ref = "okhttp" } okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" } room-base = { module = "androidx.room:room-ktx", version.ref = "room" }