Andrey Larionov
05/25/2024, 10:40 PMAndrey Larionov
05/25/2024, 10:41 PMhfhbd
05/25/2024, 10:42 PMAndrey Larionov
05/25/2024, 10:53 PMresources
module where I put my strings.xml files
I also have server/data
KotlinJVM module where I'm trying to get a String from ResourcesProvider
which inside of resources
module
My server/data/build.gradle.kts
looks like this
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.kotlinSerialization)
}
dependencies {
/**
* MODEL SHARED
*/
implementation(projects.modelShared)
/**
* DATABASE
*/
implementation(projects.database.domain)
implementation(projects.database.tables)
/**
* RESOURCES
*/
implementation(projects.resources)
/**
* DEPENDENCIES
*/
implementation(libs.bundles.database)
}
But when I'm trying to get something from ResourcesProvider
inside database
module
override suspend fun signIn(request: SignInRequest): User {
val user = userStorage.getUser(request.email) ?: run {
buildError("It seems this email is not in our system.")
}
return when {
request.password == user.password -> user
else -> {
val error = ResourcesProvider().getStringFromResources(
Res.string.auth_wrong_email_password_error
)
buildError(error)
}
}
}
I'm getting an error:
Cannot access class 'org.jetbrains.compose.resources.StringResource'. Check your module classpath for missing or conflicting dependencies.
It looks like I can't include multiplatform recources
module to KotlinJVM server
module?
It seems I can't include ComposeAndrey Larionov
05/25/2024, 10:56 PMresources
module multiplatform because it required to have
implementation(compose.components.resources)
So I had to add
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.androidLibrary)
alias(libs.plugins.jetbrainsCompose)
alias(libs.plugins.compose.compiler)
}
Andrey Larionov
05/25/2024, 11:44 PMcompose
plugin to database/data
module
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.kotlinSerialization)
alias(libs.plugins.jetbrainsCompose)
}
dependencies {
implementation(compose.components.resources)
}
I'm getting this error
Cause: e: Configuration problem: Since Kotlin 2.0.0-RC2 to use Compose Multiplatform you must apply "org.jetbrains.kotlin.plugin.compose" plugin.
Ok, I made my database/data/build.gradle
looks like this:
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.kotlinSerialization)
alias(libs.plugins.jetbrainsCompose)
alias(libs.plugins.compose.compiler) // <-- ADDED
}
dependencies {
implementation(projects.resources)
implementation(compose.runtime) // <-- ADDED
implementation(compose.components.resources)
}
And when I'm trying to get something from ResourcesProvider
, which is inside resource
module, I'm getting this error:
java.lang.ExceptionInInitializerError
at org.jetbrains.skiko.SystemTheme_awtKt.getCurrentSystemTheme(SystemTheme.awt.kt:4)
at org.jetbrains.compose.resources.ResourceEnvironment_desktopKt.getSystemEnvironment(ResourceEnvironment.desktop.kt:11)
at org.jetbrains.compose.resources.ResourceEnvironmentKt$getResourceEnvironment$1.invoke(ResourceEnvironment.kt:83)
at org.jetbrains.compose.resources.ResourceEnvironmentKt$getResourceEnvironment$1.invoke(ResourceEnvironment.kt:83)
at org.jetbrains.compose.resources.ResourceEnvironmentKt.getSystemResourceEnvironment(ResourceEnvironment.kt:90)
at org.jetbrains.compose.resources.StringResourcesKt.getString(StringResources.kt:42)
at ResourcesProvider$getStringFromResources$2.invokeSuspend(ResourcesProvider.kt:12)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
Caused by: org.jetbrains.skiko.LibraryLoadException: Cannot find libskiko-macos-arm64.dylib.sha256, proper native dependency missing.
at org.jetbrains.skiko.Library.findAndLoad(Library.kt:103)
at org.jetbrains.skiko.Library.load(Library.kt:56)
at org.jetbrains.skiko.SystemThemeHelper.<clinit>(SystemTheme.awt.kt:12)
... 13 more
To sum it up, Jetbrains wants me to make database/data
module as multiplatform module.....