summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorketsuban <ketsuban@192.168.3.110>2026-08-26 11:00:09 +0000
committerketsuban <ketsuban@192.168.3.110>2026-08-26 11:00:09 +0000
commit6678ca1ed5f519eff6cf6f9ff621a1b87c46b84c (patch)
tree8e299346d85a94787a13549d41cb0af654aec63b
parent84e75a6dda6ee052b8ae937779631310043fd87d (diff)
downloadkukuri-6678ca1ed5f519eff6cf6f9ff621a1b87c46b84c.tar.gz
kukuri-6678ca1ed5f519eff6cf6f9ff621a1b87c46b84c.tar.bz2
kukuri-6678ca1ed5f519eff6cf6f9ff621a1b87c46b84c.zip
Compose desktop app shell (2nd Division entry point)
-rw-r--r--apps/desktop/build.gradle.kts34
-rw-r--r--apps/desktop/src/jvmMain/kotlin/jp/orgflow/app/desktop/Main.kt21
-rw-r--r--build.gradle.kts1
-rw-r--r--gradle/libs.versions.toml1
-rw-r--r--settings.gradle.kts1
-rw-r--r--settings.gradle.kts.tmp0
6 files changed, 58 insertions, 0 deletions
diff --git a/apps/desktop/build.gradle.kts b/apps/desktop/build.gradle.kts
new file mode 100644
index 0000000..1692ab5
--- /dev/null
+++ b/apps/desktop/build.gradle.kts
@@ -0,0 +1,34 @@
+import org.jetbrains.compose.desktop.application.dsl.TargetFormat
+
+// 2nd Division UI shell (ch.04-10 entry point). Compose Multiplatform desktop.
+
+plugins {
+ alias(libs.plugins.kotlin.multiplatform)
+ alias(libs.plugins.compose.multiplatform)
+ // AGP not needed here; desktop only for the submission scope
+}
+
+group = "net.kukuri"
+version = "0.1.0"
+
+kotlin {
+ jvm()
+
+ sourceSets {
+ jvmMain.dependencies {
+ implementation(compose.desktop.currentOs)
+ implementation(project(":modules:orgflow-domain"))
+ }
+ }
+}
+
+compose.desktop {
+ application {
+ mainClass = "jp.orgflow.app.desktop.MainKt"
+ nativeDistributions {
+ targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
+ packageName = "kukuri"
+ packageVersion = "0.1.0"
+ }
+ }
+}
diff --git a/apps/desktop/src/jvmMain/kotlin/jp/orgflow/app/desktop/Main.kt b/apps/desktop/src/jvmMain/kotlin/jp/orgflow/app/desktop/Main.kt
new file mode 100644
index 0000000..fdaf9fa
--- /dev/null
+++ b/apps/desktop/src/jvmMain/kotlin/jp/orgflow/app/desktop/Main.kt
@@ -0,0 +1,21 @@
+package jp.orgflow.app.desktop
+
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material.Text
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.unit.sp
+import androidx.compose.desktop.Window
+import kukuri.appGreeting
+
+fun main() = Window(title = "kukuri - OrgFlow") {
+ Column(
+ modifier = androidx.compose.ui.Modifier.fillMaxSize(),
+ verticalArrangement = Arrangement.Center,
+ horizontalAlignment = Alignment.CenterHorizontally,
+ ) {
+ Text(appGreeting(), fontSize = 24.sp)
+ Text("OrgFlow submission shell (ch.04-10 landing zone)", fontSize = 12.sp)
+ }
+}
diff --git a/build.gradle.kts b/build.gradle.kts
index ab4a675..9f6ed98 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.detekt) apply false
+ alias(libs.plugins.compose.multiplatform) apply false
}
group = "net.kukuri"
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index c77c162..3a2aa34 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -24,6 +24,7 @@ okio-fakefilesystem = { module = "com.squareup.okio:okio-fakefilesystem", versio
jgit = { module = "org.eclipse.jgit:org.eclipse.jgit", version.ref = "jgit" }
[plugins]
+compose-multiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e63f652..e53347b 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -38,3 +38,4 @@ listOf(
"fsmp-transport",
).forEach { include(":modules:$it") }
include(":modules:vendor-nabu")
+include(':apps:desktop')
diff --git a/settings.gradle.kts.tmp b/settings.gradle.kts.tmp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/settings.gradle.kts.tmp