lib updates

This commit is contained in:
2025-03-30 03:47:44 +03:00
parent 79dddec48b
commit 25da43cfba
9 changed files with 56 additions and 81 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
FROM gradle:8.4.0-jdk17 AS builder
FROM gradle:8.4.0-jdk21 AS builder
COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src
+28 -51
View File
@@ -1,10 +1,7 @@
import com.android.build.api.dsl.ManagedVirtualDevice
import org.jetbrains.compose.ExperimentalComposeLibrary
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
import java.util.*
@@ -17,9 +14,28 @@ plugins {
}
kotlin {
androidTarget {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_21)
}
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
jvm()
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
moduleName = "composeApp"
outputModuleName = "composeApp"
browser {
val rootDirPath = project.rootDir.path
val projectDirPath = project.projectDir.path
@@ -37,34 +53,6 @@ kotlin {
binaries.executable()
}
androidTarget {
compilations.all {
compileTaskProvider {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
//https://jakewharton.com/gradle-toolchains-are-rarely-a-good-idea/#what-do-i-do
freeCompilerArgs.add("-Xjdk-release=${JavaVersion.VERSION_17}")
}
}
}
//https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-test.html
@OptIn(ExperimentalKotlinGradlePluginApi::class)
instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test)
}
jvm()
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
sourceSets {
commonMain.dependencies {
implementation(compose.runtime)
@@ -72,7 +60,6 @@ kotlin {
implementation(compose.material3)
implementation(compose.materialIconsExtended)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
implementation(libs.voyager.navigator)
implementation(libs.voyager.transitions)
implementation(libs.coil)
@@ -140,20 +127,14 @@ android {
applicationId = "dev.meloda.overseerr"
versionCode = 1
versionName = "1.0.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
//https://developer.android.com/studio/test/gradle-managed-devices
@Suppress("UnstableApiUsage")
testOptions {
managedDevices.devices {
maybeCreate<ManagedVirtualDevice>("pixel5").apply {
device = "Pixel 5"
apiLevel = 34
systemImageSource = "aosp"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
signingConfigs {
create("release") {
val keystoreProperties = Properties()
@@ -188,19 +169,15 @@ android {
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
}
//https://developer.android.com/develop/ui/compose/testing#setup
dependencies {
androidTestImplementation(libs.androidx.uitest.junit4)
debugImplementation(libs.androidx.uitest.testManifest)
//temporary fix: https://youtrack.jetbrains.com/issue/CMP-5864
androidTestImplementation("androidx.test:monitor") {
version { strictly("1.6.1") }
}
debugImplementation(compose.uiTooling)
}
compose.desktop {
@@ -3,11 +3,11 @@ package dev.meloda.overseerr.settings.model
import dev.meloda.overseerr.appDir
import io.github.xxfast.kstore.KStore
import io.github.xxfast.kstore.file.storeOf
import okio.Path.Companion.toPath
import kotlinx.io.files.Path
actual class SettingsStoreProvider actual constructor() {
actual fun provideStore(): KStore<AppSettings> {
return storeOf(file = "$appDir/app_settings.json".toPath())
return storeOf(file = Path("$appDir/app_settings.json"))
}
}
@@ -22,9 +22,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import cafe.adriel.voyager.core.screen.Screen
import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow
import dev.chrisbanes.haze.HazeState
import dev.chrisbanes.haze.haze
import dev.chrisbanes.haze.hazeChild
import dev.chrisbanes.haze.*
import dev.chrisbanes.haze.materials.ExperimentalHazeMaterialsApi
import dev.chrisbanes.haze.materials.HazeMaterials
import dev.meloda.overseerr.screens.requests.RequestsViewModel
@@ -78,7 +76,7 @@ class RequestsScreen : Screen {
},
colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.Transparent),
modifier = Modifier
.hazeChild(
.hazeEffect(
state = hazeState,
style = hazeStyle
).fillMaxWidth(),
@@ -106,7 +104,7 @@ class RequestsScreen : Screen {
LazyColumn(
modifier = Modifier
.fillMaxSize()
.haze(state = hazeState)
.hazeSource(state = hazeState)
.pullToRefresh(
isRefreshing = screenState.isLoading,
state = refreshState,
@@ -159,7 +157,7 @@ class RequestsScreen : Screen {
Box(
modifier = Modifier
.align(Alignment.BottomCenter)
.hazeChild(
.hazeEffect(
state = hazeState,
style = hazeStyle
)
@@ -3,10 +3,10 @@ package dev.meloda.overseerr.settings.model
import dev.meloda.overseerr.appDir
import io.github.xxfast.kstore.KStore
import io.github.xxfast.kstore.file.storeOf
import okio.Path.Companion.toPath
import kotlinx.io.files.Path
actual class SettingsStoreProvider actual constructor() {
actual fun provideStore(): KStore<AppSettings> {
return storeOf(file = "$appDir/app_settings.json".toPath())
return storeOf(file = Path("$appDir/app_settings.json"))
}
}
@@ -3,10 +3,10 @@ package dev.meloda.overseerr.settings.model
import dev.meloda.overseerr.appDir
import io.github.xxfast.kstore.KStore
import io.github.xxfast.kstore.file.storeOf
import okio.Path.Companion.toPath
import kotlinx.io.files.Path
actual class SettingsStoreProvider actual constructor() {
actual fun provideStore(): KStore<AppSettings> {
return storeOf(file = "$appDir/app_settings.json".toPath())
return storeOf(file = Path("$appDir/app_settings.json"))
}
}
+1 -1
View File
@@ -27,7 +27,7 @@ fun main() = application {
state = rememberWindowState(width = 800.dp, height = 600.dp),
onCloseRequest = ::exitApplication
) {
window.minimumSize = Dimension(350, 600)
window.minimumSize = Dimension(360, 600)
App()
}
}
+15 -15
View File
@@ -1,31 +1,31 @@
[versions]
kotlin = "2.0.20-RC"
compose = "1.7.0-alpha02"
agp = "8.2.0"
kotlin = "2.1.20"
compose = "1.8.0-beta01"
agp = "8.7.3"
androidx-lifecycle = "2.8.4"
androidx-activityCompose = "1.9.1"
androidx-uiTest = "1.6.8"
voyager = "1.1.0-beta02"
androidx-activity-compose = "1.10.1"
androidx-uitest = "1.7.8"
voyager = "1.1.0-beta03"
coil = "3.0.4"
kotlinx-coroutines = "1.9.0"
ktor = "3.0.0-beta-2"
kotlinx-serialization = "1.7.1"
koin = "4.0.0-RC1"
viewmodel-compose = "2.8.0"
haze = "0.7.3"
kotlinx-coroutines = "1.10.1"
ktor = "3.0.1"
kotlinx-serialization = "1.8.0"
koin = "4.0.3"
viewmodel-compose = "2.8.3"
haze = "1.5.2"
kstore = "0.9.1"
appdirs = "1.2.2"
napier = "2.7.1"
[libraries]
androidx-activityCompose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
androidx-activityCompose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity-compose" }
androidx-lifecycle-viewmodel-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "viewmodel-compose" }
androidx-lifecycle-viewmodel = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtime-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
androidx-uitest-testManifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidx-uiTest" }
androidx-uitest-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "androidx-uiTest" }
androidx-uitest-testManifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidx-uitest" }
androidx-uitest-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "androidx-uitest" }
voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
coil = { module = "io.coil-kt.coil3:coil-compose-core", version.ref = "coil" }
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME