refactor: move packaging/appimage into desktopApp module
The AppImage build inputs (AppRun, .desktop entry, icon, and the CI-fetched linuxdeploy binary) are consumed only by desktopApp's createReleaseAppImage task. Co-locating them under desktopApp/packaging/appimage/ removes the `../` path escape from the build script and keeps all desktop packaging assets inside the module. https://claude.ai/code/session_0137ULcfJkASmfmffFBdW8ac
This commit is contained in:
@@ -88,13 +88,13 @@ jobs:
|
||||
if: matrix.family == 'linux-portable'
|
||||
run: |
|
||||
set -euo pipefail
|
||||
curl -fsSL --retry 3 "$LINUXDEPLOY_URL" -o packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
actual=$(sha256sum packaging/appimage/linuxdeploy-x86_64.AppImage | awk '{print $1}')
|
||||
curl -fsSL --retry 3 "$LINUXDEPLOY_URL" -o desktopApp/packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
actual=$(sha256sum desktopApp/packaging/appimage/linuxdeploy-x86_64.AppImage | awk '{print $1}')
|
||||
if [[ "$actual" != "$LINUXDEPLOY_SHA256" ]]; then
|
||||
echo "::error::linuxdeploy SHA256 mismatch. Expected $LINUXDEPLOY_SHA256, got $actual"
|
||||
exit 1
|
||||
fi
|
||||
chmod +x packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
chmod +x desktopApp/packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
|
||||
- name: Build desktop artifacts
|
||||
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
|
||||
|
||||
+3
-3
@@ -167,9 +167,9 @@ desktopApp/src/jvmMain/appResources/macos/
|
||||
desktopApp/src/jvmMain/appResources/windows/
|
||||
|
||||
# CI-fetched AppImage tooling (downloaded by create-release workflow; not committed)
|
||||
packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
packaging/appimage/linuxdeploy-extracted/
|
||||
packaging/appimage/squashfs-root/
|
||||
desktopApp/packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
desktopApp/packaging/appimage/linuxdeploy-extracted/
|
||||
desktopApp/packaging/appimage/squashfs-root/
|
||||
|
||||
# Git worktrees
|
||||
.worktrees/
|
||||
|
||||
+2
-2
@@ -42,9 +42,9 @@ sudo dnf install -y rpm-build
|
||||
Install linuxdeploy locally (CI fetches its own — SHA-verified):
|
||||
|
||||
```bash
|
||||
curl -fsSL -o packaging/appimage/linuxdeploy-x86_64.AppImage \
|
||||
curl -fsSL -o desktopApp/packaging/appimage/linuxdeploy-x86_64.AppImage \
|
||||
https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage
|
||||
chmod +x packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
chmod +x desktopApp/packaging/appimage/linuxdeploy-x86_64.AppImage
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -173,13 +173,14 @@ tasks.withType<Download>().configureEach {
|
||||
// Instead: wrap `createReleaseDistributable` output with `linuxdeploy` (which
|
||||
// auto-bundles libraries, handles rpath, and calls appimagetool internally).
|
||||
//
|
||||
// Build inputs live in packaging/appimage/:
|
||||
// Build inputs live in desktopApp/packaging/appimage/:
|
||||
// - AppRun shell launcher (sets LD_LIBRARY_PATH including bundled VLC)
|
||||
// - amethyst.desktop XDG desktop entry
|
||||
// - amethyst.png 512x512 icon
|
||||
//
|
||||
// linuxdeploy binary is fetched by CI (SHA-verified) into packaging/appimage/
|
||||
// as linuxdeploy-x86_64.AppImage. BUILDING.md documents local-dev fetch.
|
||||
// linuxdeploy binary is fetched by CI (SHA-verified) into
|
||||
// desktopApp/packaging/appimage/ as linuxdeploy-x86_64.AppImage.
|
||||
// BUILDING.md documents local-dev fetch.
|
||||
val createReleaseAppImage by tasks.registering(Exec::class) {
|
||||
group = "compose desktop"
|
||||
description = "Bundle createReleaseDistributable output into a Linux AppImage via linuxdeploy."
|
||||
@@ -188,7 +189,7 @@ val createReleaseAppImage by tasks.registering(Exec::class) {
|
||||
val distDir = layout.buildDirectory.dir("compose/binaries/main-release/app/Amethyst")
|
||||
val appDir = layout.buildDirectory.dir("appimage/Amethyst.AppDir")
|
||||
val outFile = layout.buildDirectory.file("appimage/Amethyst-$appVersion-x86_64.AppImage")
|
||||
val toolRoot = layout.projectDirectory.dir("../packaging/appimage")
|
||||
val toolRoot = layout.projectDirectory.dir("packaging/appimage")
|
||||
val linuxdeployTool = toolRoot.file("linuxdeploy-x86_64.AppImage")
|
||||
|
||||
inputs.dir(distDir)
|
||||
|
||||
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Reference in New Issue
Block a user