Add comprehensive build script and fix quality issues
- Add build-all.sh for complete build process - Add icons.ico for Windows (needs rcedit for embedding) - Add tickstales.desktop for Linux menu integration - Configure packr to use icons.icns for macOS - Copy icons and version metadata in build script - Linux build now includes .desktop file and icon
This commit is contained in:
53
desktop/build-all.sh
Executable file
53
desktop/build-all.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
VERSION="2.0.$(cat last-release)"
|
||||
echo "=== Building Tick's Tales v${VERSION} ==="
|
||||
echo ""
|
||||
|
||||
echo "=== Cleaning ==="
|
||||
rm -rf target/windows target/linux target/osx target/osx-arm64 2>/dev/null || true
|
||||
|
||||
echo "=== Building uberjar ==="
|
||||
LEIN_SNAPSHOTS_IN_RELEASE=true lein with-profile steam do clean, compile, uberjar 2>&1 | tail -5
|
||||
|
||||
echo ""
|
||||
echo "=== Building Windows x64 ==="
|
||||
java -jar packr.jar build-windows.json
|
||||
# Note: Windows icon embedding requires rcedit on Windows or wine
|
||||
# The icon folder will be present for manual setup
|
||||
|
||||
echo ""
|
||||
echo "=== Building Linux x64 ==="
|
||||
java -jar packr.jar build-linux-64.json
|
||||
cp tickstales.desktop target/linux/amd64/
|
||||
mkdir -p target/linux/amd64/icons
|
||||
cp resources/icon/icon_128x128.png target/linux/amd64/icons/tickstales.png
|
||||
|
||||
echo ""
|
||||
echo "=== Building macOS x64 ==="
|
||||
java -jar packr.jar build-osx.json
|
||||
cp icons.icns "target/osx/Tick's Tales.app/Contents/Resources/"
|
||||
sed -i "s/1.0/${VERSION}/" "target/osx/Tick's Tales.app/Contents/Info.plist"
|
||||
|
||||
echo ""
|
||||
echo "=== Building macOS ARM64 ==="
|
||||
java -jar packr.jar build-osx-arm64.json
|
||||
cp icons.icns "target/osx-arm64/Tick's Tales.app/Contents/Resources/"
|
||||
sed -i "s/1.0/${VERSION}/" "target/osx-arm64/Tick's Tales.app/Contents/Info.plist"
|
||||
|
||||
echo ""
|
||||
echo "=== Build Complete ==="
|
||||
echo ""
|
||||
echo "Sizes:"
|
||||
du -sh target/windows target/linux/amd64 "target/osx/Tick's Tales.app" "target/osx-arm64/Tick's Tales.app"
|
||||
echo ""
|
||||
echo "Artifacts:"
|
||||
echo " Windows: target/windows/TicksTales.exe"
|
||||
echo " Linux: target/linux/amd64/Tick's Tales"
|
||||
echo " macOS: target/osx/Tick's Tales.app"
|
||||
echo " macOS ARM: target/osx-arm64/Tick's Tales.app"
|
||||
@@ -6,6 +6,7 @@
|
||||
"classpath": ["target/advent-standalone.jar"],
|
||||
"mainclass": "advent.core.desktop_launcher",
|
||||
"resources": ["resources/icon", "steam_appid.txt"],
|
||||
"icon": "icons.icns",
|
||||
"output": "target/osx-arm64/Tick's Tales.app",
|
||||
"bundle": "com.tickstales.upallknight",
|
||||
"verbose": true
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"classpath": ["target/advent-standalone.jar"],
|
||||
"mainclass": "advent.core.desktop_launcher",
|
||||
"resources": ["resources/icon", "steam_appid.txt"],
|
||||
"icon": "icons.icns",
|
||||
"output": "target/osx-arm64/Tick's Tales.app",
|
||||
"bundle": "com.tickstales.upallknight",
|
||||
"verbose": true
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"classpath": ["target/advent-standalone.jar"],
|
||||
"mainclass": "advent.core.desktop_launcher",
|
||||
"resources": ["resources/icon", "steam_appid.txt"],
|
||||
"icon": "icons.icns",
|
||||
"output": "target/osx/Tick's Tales.app",
|
||||
"bundle": "com.tickstales.upallknight",
|
||||
"verbose": true
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"classpath": ["target/advent-standalone.jar"],
|
||||
"mainclass": "advent.core.desktop_launcher",
|
||||
"resources": ["resources/icon", "steam_appid.txt"],
|
||||
"icon": "icons.icns",
|
||||
"output": "target/osx/Tick's Tales.app",
|
||||
"bundle": "com.tickstales.upallknight",
|
||||
"verbose": true
|
||||
|
||||
BIN
desktop/icons.ico
Normal file
BIN
desktop/icons.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 71 KiB |
11
desktop/tickstales.desktop
Normal file
11
desktop/tickstales.desktop
Normal file
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=Tick's Tales
|
||||
GenericName=Adventure Game
|
||||
Comment=Tick's Tales: Up All Knight
|
||||
Exec="Tick's Tales"
|
||||
Icon=tickstales
|
||||
Terminal=false
|
||||
Categories=Game;AdventureGame;
|
||||
StartupNotify=true
|
||||
Reference in New Issue
Block a user