Skip to content
This repository has been archived by the owner on Nov 12, 2024. It is now read-only.

Fix desktop app distribution #1687

Merged
merged 1 commit into from
Dec 28, 2023
Merged

Fix desktop app distribution #1687

merged 1 commit into from
Dec 28, 2023

Conversation

Omico
Copy link
Contributor

@Omico Omico commented Dec 28, 2023

When we run gradle :desktop-app:runDistributable, it will show the below error:

> Task :desktop-app:runDistributable
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/DriverManager
	at app.cash.sqldelight.driver.jdbc.sqlite.ThreadedConnectionManager.getConnection(JdbcSqliteDriver.kt:122)
	at app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver.getConnection(JdbcSqliteDriver.kt)
	at app.cash.sqldelight.driver.jdbc.JdbcDriver.connectionAndClose(JdbcDriver.kt:119)
	at app.cash.sqldelight.driver.jdbc.JdbcDriver.execute(JdbcDriver.kt:130)
	at app.cash.sqldelight.db.SqlDriver$DefaultImpls.execute$default(SqlDriver.kt:63)
	at app.tivi.data.dbsqldelight.DatabaseImpl$Schema.create-0iQ1-z0(DatabaseImpl.kt:136)
	at app.tivi.data.dbsqldelight.DatabaseImpl$Schema.create(DatabaseImpl.kt:131)
	at app.tivi.data.SqlDelightDatabasePlatformComponent$DefaultImpls.provideDriverFactory(SqlDelightDatabasePlatformComponent.kt:23)
	at app.tivi.data.SqlDelightDatabaseComponent$DefaultImpls.provideDriverFactory(SqlDelightDatabaseComponent.kt:40)
	at app.tivi.inject.SharedApplicationComponent$DefaultImpls.provideDriverFactory(SharedApplicationComponent.kt:39)
	at app.tivi.inject.DesktopApplicationComponent.provideDriverFactory(DesktopApplicationComponent.kt:9)
	at app.tivi.inject.InjectDesktopApplicationComponent$database$1$1.invoke(InjectDesktopApplicationComponent.kt:274)
	at app.tivi.inject.InjectDesktopApplicationComponent$database$1$1.invoke(InjectDesktopApplicationComponent.kt:273)
	at me.tatarka.inject.internal.LazyMap.get(LazyMap.kt:16)
	at app.tivi.inject.InjectDesktopApplicationComponent$database$1.invoke(InjectDesktopApplicationComponent.kt:273)
	at app.tivi.inject.InjectDesktopApplicationComponent$database$1.invoke(InjectDesktopApplicationComponent.kt:270)
	at me.tatarka.inject.internal.LazyMap.get(LazyMap.kt:16)
	at app.tivi.inject.InjectDesktopApplicationComponent.getDatabase(InjectDesktopApplicationComponent.kt:270)
	at app.tivi.inject.InjectDesktopApplicationComponent.access$getDatabase(InjectDesktopApplicationComponent.kt:83)
	at app.tivi.inject.InjectDesktopApplicationComponent$databaseTransactionRunner$1.invoke(InjectDesktopApplicationComponent.kt:264)
	at app.tivi.inject.InjectDesktopApplicationComponent$databaseTransactionRunner$1.invoke(InjectDesktopApplicationComponent.kt:261)
	at me.tatarka.inject.internal.LazyMap.get(LazyMap.kt:16)
	at app.tivi.inject.InjectDesktopApplicationComponent.getDatabaseTransactionRunner(InjectDesktopApplicationComponent.kt:261)
	at app.tivi.inject.InjectDesktopApplicationComponent.access$getDatabaseTransactionRunner(InjectDesktopApplicationComponent.kt:83)
	at app.tivi.inject.InjectDesktopApplicationComponent$seasonsEpisodesRepository$1.invoke(InjectDesktopApplicationComponent.kt:159)
	at app.tivi.inject.InjectDesktopApplicationComponent$seasonsEpisodesRepository$1.invoke(InjectDesktopApplicationComponent.kt:156)
	at me.tatarka.inject.internal.LazyMap.get(LazyMap.kt:16)
	at app.tivi.inject.InjectDesktopApplicationComponent.getSeasonsEpisodesRepository(InjectDesktopApplicationComponent.kt:156)
	at app.tivi.inject.InjectDesktopApplicationComponent.getImageLoader(InjectDesktopApplicationComponent.kt:450)
	at app.tivi.inject.InjectWindowComponent$tiviContent$1.invoke(InjectWindowComponent.kt:1421)
	at app.tivi.inject.InjectWindowComponent$tiviContent$1.invoke(InjectWindowComponent.kt:966)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:186)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at app.tivi.ComposableSingletons$MainKt$lambda-1$1$3.invoke(Main.kt:38)
	at app.tivi.ComposableSingletons$MainKt$lambda-1$1$3.invoke(Main.kt:30)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:117)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.ui.awt.ComposeWindow$setContent$5.invoke(ComposeWindow.desktop.kt:161)
	at androidx.compose.ui.awt.ComposeWindow$setContent$5.invoke(ComposeWindow.desktop.kt:160)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.ui.awt.ComposeWindowDelegate.WindowContentLayout(ComposeWindowDelegate.desktop.kt:168)
	at androidx.compose.ui.awt.ComposeWindowDelegate.access$WindowContentLayout(ComposeWindowDelegate.desktop.kt:43)
	at androidx.compose.ui.awt.ComposeWindowDelegate$setContent$3$1.invoke(ComposeWindowDelegate.desktop.kt:156)
	at androidx.compose.ui.awt.ComposeWindowDelegate$setContent$3$1.invoke(ComposeWindowDelegate.desktop.kt:155)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
	at androidx.compose.ui.awt.ComposeWindowDelegate$setContent$3.invoke(ComposeWindowDelegate.desktop.kt:152)
	at androidx.compose.ui.awt.ComposeWindowDelegate$setContent$3.invoke(ComposeWindowDelegate.desktop.kt:151)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
	at androidx.compose.ui.ComposeScene$setContent$5.invoke(ComposeScene.skiko.kt:474)
	at androidx.compose.ui.ComposeScene$setContent$5.invoke(ComposeScene.skiko.kt:473)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
	at androidx.compose.ui.platform.CompositionLocalsKt.ProvideCommonCompositionLocals(CompositionLocals.kt:195)
	at androidx.compose.ui.platform.Wrapper_skikoKt$setContent$2$1.invoke(Wrapper.skiko.kt:47)
	at androidx.compose.ui.platform.Wrapper_skikoKt$setContent$2$1.invoke(Wrapper.skiko.kt:46)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
	at androidx.compose.ui.platform.Wrapper_skikoKt.provide(Wrapper.skiko.kt:61)
	at androidx.compose.ui.platform.Wrapper_skikoKt.access$provide(Wrapper.skiko.kt:1)
	at androidx.compose.ui.platform.Wrapper_skikoKt$setContent$2.invoke(Wrapper.skiko.kt:46)
	at androidx.compose.ui.platform.Wrapper_skikoKt$setContent$2.invoke(Wrapper.skiko.kt:45)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:108)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
	at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:39)
	at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3341)
	at androidx.compose.runtime.ComposerImpl.composeContent$runtime(Composer.kt:3274)
	at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:588)
	at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:1013)
	at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:520)
	at androidx.compose.ui.platform.Wrapper_skikoKt.setContent(Wrapper.skiko.kt:45)
	at androidx.compose.ui.ComposeScene.setContent$ui(ComposeScene.skiko.kt:470)
	at androidx.compose.ui.ComposeScene.setContent$ui$default(ComposeScene.skiko.kt:448)
	at androidx.compose.ui.awt.ComposeBridge$setContent$3$1.invoke(ComposeBridge.desktop.kt:306)
	at androidx.compose.ui.awt.ComposeBridge$setContent$3$1.invoke(ComposeBridge.desktop.kt:305)
	at androidx.compose.ui.awt.ComposeBridge.catchExceptions(ComposeBridge.desktop.kt:150)
	at androidx.compose.ui.awt.ComposeBridge.access$catchExceptions(ComposeBridge.desktop.kt:64)
	at androidx.compose.ui.awt.ComposeBridge$setContent$3.invoke(ComposeBridge.desktop.kt:305)
	at androidx.compose.ui.awt.ComposeBridge$setContent$3.invoke(ComposeBridge.desktop.kt:304)
	at androidx.compose.ui.awt.ComposeBridge.initContent(ComposeBridge.desktop.kt:320)
	at androidx.compose.ui.awt.WindowComposeBridge$component$1.addNotify(WindowComposeBridge.desktop.kt:50)
	at java.desktop/java.awt.Container.addNotify(Unknown Source)
	at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
	at androidx.compose.ui.awt.ComposeWindowDelegate$_pane$1.addNotify(ComposeWindowDelegate.desktop.kt:87)
	at java.desktop/java.awt.Container.addNotify(Unknown Source)
	at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
	at java.desktop/java.awt.Container.addNotify(Unknown Source)
	at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
	at java.desktop/java.awt.Container.addNotify(Unknown Source)
	at java.desktop/javax.swing.JComponent.addNotify(Unknown Source)
	at java.desktop/javax.swing.JRootPane.addNotify(Unknown Source)
	at java.desktop/java.awt.Container.addNotify(Unknown Source)
	at java.desktop/java.awt.Window.addNotify(Unknown Source)
	at java.desktop/java.awt.Frame.addNotify(Unknown Source)
	at java.desktop/java.awt.Window.pack(Unknown Source)
	at androidx.compose.ui.util.Windows_desktopKt.setSizeImpl-6HolHcs(Windows.desktop.kt:116)
	at androidx.compose.ui.util.Windows_desktopKt.setSizeSafely-hQcJfNw(Windows.desktop.kt:55)
	at androidx.compose.ui.window.Window_desktopKt$Window$5.invoke(Window.desktop.kt:237)
	at androidx.compose.ui.window.Window_desktopKt$Window$5.invoke(Window.desktop.kt:174)
	at androidx.compose.ui.window.Window_desktopKt$Window$12$1.invoke(Window.desktop.kt:425)
	at androidx.compose.ui.window.Window_desktopKt$Window$12$1.invoke(Window.desktop.kt:418)
	at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$3.invoke(AwtWindow.desktop.kt:78)
	at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$3.invoke(AwtWindow.desktop.kt:76)
	at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2$performUpdate$1.invoke(UpdateEffect.desktop.kt:59)
	at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2$performUpdate$1.invoke(UpdateEffect.desktop.kt:55)
	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2300)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe(SnapshotStateObserver.kt:471)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:234)
	at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2.invoke$performUpdate(UpdateEffect.desktop.kt:55)
	at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2.invoke(UpdateEffect.desktop.kt:64)
	at androidx.compose.ui.util.UpdateEffect_desktopKt$UpdateEffect$2.invoke(UpdateEffect.desktop.kt:47)
	at androidx.compose.runtime.DisposableEffectImpl.onRemembered(Effects.kt:81)
	at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1137)
	at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:828)
	at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:849)
	at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:1041)
	at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:520)
	at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:219)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: java.sql.DriverManager
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 140 more
Caused by: java.lang.ClassNotFoundException: java.sql.DriverManager


@chrisbanes chrisbanes enabled auto-merge (squash) December 28, 2023 12:24
@chrisbanes chrisbanes merged commit 317dd6d into chrisbanes:main Dec 28, 2023
8 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants