Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ plugins {
alias(libs.plugins.kotlinJvm) apply false
alias(libs.plugins.kotlinMultiplatform) apply false
alias(libs.plugins.kotlinSerialization) apply false
alias(libs.plugins.nucleus) apply false
alias(libs.plugins.vanniktech.mavenPublish) apply false
}
4 changes: 4 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ kotlinx-datetime = "0.8.0"
kotlinx-io = "0.9.1"
leakcanaryAndroid = "2.14"
material-icons-core = "1.7.3"
nucleus = "2.1.3"
test-android-robolectric = "4.16.1"
vanniktech-mavenPublish = "0.37.0"

Expand Down Expand Up @@ -55,6 +56,8 @@ kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serializa
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
leakcanary-android = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanaryAndroid" }
material-icons-core = { module = "org.jetbrains.compose.material:material-icons-core", version.ref = "material-icons-core" }
nucleus-application = { module = "dev.nucleusframework:nucleus.nucleus-application", version.ref = "nucleus" }
nucleus-decorated-window-tao = { module = "dev.nucleusframework:nucleus.decorated-window-tao", version.ref = "nucleus" }
test-android-robolectric = { module = "org.robolectric:robolectric", version.ref = "test-android-robolectric" }

# Compose
Expand All @@ -81,6 +84,7 @@ composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-mu
kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
nucleus = { id = "dev.nucleusframework", version.ref = "nucleus" }
vanniktech-mavenPublish = { id = "com.vanniktech.maven.publish", version.ref = "vanniktech-mavenPublish" }

# Plugins defined by this project
Expand Down
33 changes: 33 additions & 0 deletions sample/nucleusApp/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import dev.nucleusframework.desktop.application.dsl.TargetFormat

plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.nucleus)
}

nucleus.application {
mainClass = "io.github.vinceglb.filekit.sample.nucleus.MainKt"

nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
Comment thread
vinceglb marked this conversation as resolved.
packageName = "FileKit Nucleus Sample"
packageVersion = "1.0.0"
}
}

dependencies {
// App module
implementation(projects.sample.shared)

// Compose Desktop
implementation(compose.desktop.currentOs)

// Nucleus
implementation(libs.nucleus.application)
implementation(libs.nucleus.decorated.window.tao)

// FileKit
implementation(projects.filekitCore)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package io.github.vinceglb.filekit.sample.nucleus

import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.rememberWindowState
import dev.nucleusframework.application.DecoratedWindow
import dev.nucleusframework.application.NucleusBackend
import dev.nucleusframework.application.nucleusApplication
import io.github.vinceglb.filekit.FileKit
import io.github.vinceglb.filekit.sample.shared.App

fun main() = nucleusApplication(backend = NucleusBackend.Tao) {
FileKit.init(appId = "io.github.vinceglb.filekit.sample.nucleus")

val windowState = rememberWindowState(size = DpSize(width = 920.dp, height = 720.dp))

DecoratedWindow(
state = windowState,
title = "FileKit Nucleus Sample",
onCloseRequest = ::exitApplication,
) {
App()
}
}
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ include(":filekit-dialogs")
include(":filekit-dialogs-compose")
include(":sample:androidApp")
include(":sample:desktopApp")
include(":sample:nucleusApp")
include(":sample:shared")
include(":sample:webApp")
include(":sample:windowsNativeApp")
Expand Down