Milan Jurkulak vor 3 Monaten
Ursprung
Commit
c56f9c68b2

+ 3 - 1
.claude/settings.local.json

@@ -30,7 +30,9 @@
       "Bash(tee /tmp/pg3.log)",
       "Bash(grep -cE \"\\\\.kt$\"22)",
       "Bash(git checkout *)",
-      "Bash(cd *)"
+      "Bash(cd *)",
+      "Bash(./gradlew buildAll -PdepCheck=false --console=plain)",
+      "Bash(awk '{printf \"  %-34s %s\\\\n\",$NF,$5}')"
     ]
   }
 }

+ 11 - 12
build.gradle.kts

@@ -159,26 +159,25 @@ val packageAppImageFile = tasks.register<PackageAppImageTask>("packageAppImageFi
     toolPath.set(appImageToolPath)
 }
 
-// Collects all distributables into releases/ with stable (version-less) names so each
-// build overwrites the previous file. Declarative Sync = configuration-cache safe.
-val collectReleases = tasks.register<Sync>("collectReleases") {
+// Copies all distributables into releases/ with version in the filename
+// (mjdev-desktop-<version>.<ext>). Copy = configuration-cache safe.
+val collectReleases = tasks.register<Copy>("collectReleases") {
     group = "mjdev"
-    description = "Copies the built distributables into releases/ (stable names, overwrites)."
+    description = "Copies the built distributables into releases/ (versioned filenames)."
     dependsOn(
         ":composeApp:packageReleaseDistributionForCurrentOS",
         ":composeApp:assembleRelease",
         packageAppImageFile,
     )
-    // local copies so the rename closures capture plain Strings (configuration-cache safe;
-    // capturing the script-level vals makes the closure hold a null script reference on reload)
-    val name = appNameV
+    // local copies so the rename closures capture plain Strings (configuration-cache safe)
+    val base = "$appNameV-$versionV"
     into(layout.projectDirectory.dir("releases"))
-    from(pkgDirV.resolve("deb")) { include("*.deb"); rename { "$name.deb" } }
-    from(pkgDirV.resolve("rpm")) { include("*.rpm"); rename { "$name.rpm" } }
-    from(pkgDirV.resolve("exe")) { include("*.exe"); rename { "$name.exe" } } // present only on a Windows host
-    from(pkgDirV.resolve("appimage")) { include("*.AppImage") } // already named <app>.AppImage
+    from(pkgDirV.resolve("deb")) { include("*.deb"); rename { "$base.deb" } }
+    from(pkgDirV.resolve("rpm")) { include("*.rpm"); rename { "$base.rpm" } }
+    from(pkgDirV.resolve("exe")) { include("*.exe"); rename { "$base.exe" } } // present only on a Windows host
+    from(pkgDirV.resolve("appimage")) { include("*.AppImage"); rename { "$base.AppImage" } }
     from(rootDir.resolve("composeApp/build/outputs/apk/release")) {
-        include("*.apk"); rename { "$name.apk" }
+        include("*.apk"); rename { "$base.apk" }
     }
 }
 

+ 7 - 10
composeApp/src/androidMain/kotlin/org/mjdev/desktop/activity/MainActivity.kt

@@ -28,13 +28,11 @@ import org.mjdev.desktop.context.DesktopContext.Companion.rememberDesktopContext
 import org.mjdev.desktop.context.LocalDesktopContext
 import org.mjdev.desktop.extensions.ComponentActivityExt.OnBackPress
 import org.mjdev.desktop.extensions.ComponentActivityExt.TRANSPARENT
+import org.mjdev.desktop.extensions.ComponentActivityExt.setBackgroundColor
 import org.mjdev.desktop.extensions.Compose.preview
 import org.mjdev.desktop.helpers.permission.rememberPermissionManager
 import org.mjdev.desktop.helpers.theme.DesktopTheme
 import org.mjdev.desktop.main.MainView
-import org.mjdev.desktop.extensions.ComponentActivityExt.OnBackPress
-import org.mjdev.desktop.extensions.ComponentActivityExt.TRANSPARENT
-import org.mjdev.desktop.extensions.ComponentActivityExt.setBackgroundColor
 
 @Suppress("unused", "DEPRECATION")
 @OptIn(ExperimentalPermissionsApi::class)
@@ -98,9 +96,7 @@ class MainActivity : ComponentActivity() {
 }
 
 @Composable
-private fun ActivityMain(
-    activity: ComponentActivity? = null
-) {
+private fun ActivityMain(activity: ComponentActivity? = null) {
     DesktopTheme {
         Scaffold(
             modifier =
@@ -120,7 +116,7 @@ private fun ActivityMain(
                 MainView(
                     onBackgroundChange = { color ->
                         activity?.setBackgroundColor(color)
-                    }
+                    },
                 )
             }
         }
@@ -129,6 +125,7 @@ private fun ActivityMain(
 
 @Preview
 @Composable
-fun PreviewMainActivity() = preview {
-    ActivityMain(null)
-}
+fun PreviewMainActivity() =
+    preview {
+        ActivityMain(null)
+    }

+ 1 - 3
composeApp/src/androidMain/kotlin/org/mjdev/desktop/main/MainView.kt

@@ -32,9 +32,7 @@ import org.mjdev.desktop.extensions.MutableStateExt.rememberCalculated
 
 @SuppressLint("ComposableNaming")
 @Composable
-fun MainView(
-    onBackgroundChange:(Color) -> Unit = {}
-) =
+fun MainView(onBackgroundChange: (Color) -> Unit = {}) =
     withDesktopContext {
         val tooltipState: TooltipState = rememberTooltipState()
         val appsMenuState =

+ 1 - 1
composeApp/src/commonMain/kotlin/org/mjdev/desktop/components/desktop/Desktop.kt

@@ -35,7 +35,7 @@ fun Desktop(
     onTooltip: (item: Any?) -> Unit = {},
     onLeftMouseClick: () -> Unit = {},
     onRightMouseClick: () -> Unit = {},
-    onBackgroundChange:(Color) -> Unit = {},
+    onBackgroundChange: (Color) -> Unit = {},
     // todo
     widgets: @Composable () -> Unit = {},
 ) = withDesktopContext {