Builds
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Martijn de Boer 2022-10-29 15:22:41 +02:00
parent 0367a342f2
commit 16c87db06c
No known key found for this signature in database
GPG key ID: 9D2E42402DD372D1
4 changed files with 185 additions and 46 deletions

View file

@ -13,10 +13,9 @@ steps:
- apk update
- apk upgrade
- apk --no-cache add curl zip git
- curl -s -L https://github.com/dmoa/love-export/releases/download/v1.2/install.sh | bash
- love-export -D
- ls
- ls releases
- chmod +x tools/build.sh
- bash tools/build.sh
- ls release
# - name: release
# image: plugins/gitea-release
# settings:

View file

@ -1,42 +0,0 @@
[project]
authors = "The Impossible Astronaut"
description = "A small game about a set of spaceships"
email = "buildartifacts@sexybiggetje.nl"
package_name = "vision"
title = "Vision"
url = "https://git.biggetje.net/martijn/vision/"
uti = "com.theimpossibleastronaut.vision"
version = "v0.1"
[build]
output_directory = "release"
ignore_list = [
# Git
"^.git.*",
# Binary files
".zip$",
".tar.gz$",
".love$",
".exe$",
".psd$",
# Boon-specific files and directories
"Boon.toml",
"build.sh",
"release",
"tools",
".drone.yml",
".luacheckrc",
"vision.sublime-.*"
]
# List of targets to build for
# Possible values: "love", "windows", "macos", "all"
targets = ["all"]
# If this is set to true, then the default ignore list will not be
# merged with the project specific ignore list. This allows the
# ignore list to be completely overwritten.
exclude_default_ignore_list = false

75
tools/build.sh Normal file
View file

@ -0,0 +1,75 @@
#!/usr/bin/env bash
# Slightly based on love-exporter at https://github.com/dmoa/love-export/blob/master/main.sh
VISION_COMMIT=`git ls-remote https://git.biggetje.net/martijn/vision.git | grep "refs/heads/main" | cut -f 1 | head -c 8`
LOVE_VERSION=11.4
LOVE_WIN64=https://github.com/love2d/love/releases/download/$LOVE_VERSION/love-$LOVE_VERSION-win64.zip
LOVE_MACOS=https://github.com/love2d/love/releases/download/$LOVE_VERSION/love-$LOVE_VERSION-macos.zip
build() {
echo "Building release"
cp -Rf {assets,bullet,captain,planet,scene,shaders,ship,vendor} build/game/
cp -f *.lua build/game/
find build/game -maxdepth 5 -type f -name '*.psd' -delete
}
downloadlove() {
echo "Downloading binaries"
cd build
curl -L -O $LOVE_WIN64
unzip love-$LOVE_VERSION-win64.zip
mv ./*win64 win
rm love-$LOVE_VERSION-win64.zip
cd win
rm love.ico game.ico lovec.exe readme.txt changes.txt
cd ..
mkdir mac
cd mac
curl -L -O $LOVE_MACOS
unzip love-$LOVE_VERSION-macos.zip
rm love-$LOVE_VERSION-macos.zip
cd ..
# todo appimage
cd ..
}
makelove() {
cd build/game
echo "Generating love file"
zip -9 -r ../../release/vision-$VISION_COMMIT.love .
cd ../..
}
makewin64() {
echo "Generating Win64 build"
cat "build/win/love.exe" "release/vision-$VISION_COMMIT.love" > "build/win/vision.exe"
rm "build/win/love.exe"
cd build/win
zip -9 -r ../../release/vision-$VISION_COMMIT-win64.zip .
cd ../..
}
makemac() {
echo "Generating MacOS build"
cp "release/vision-$VISION_COMMIT.love" "build/mac/love.app/Contents/Resources"
mv "build/mac/love.app" "build/mac/vision.app"
cd build/mac
cp -f "../../tools/macos-info.plist" "vision.app/Contents/Info.plist"
zip -9 -r ../../release/vision-$VISION_COMMIT-macos.zip .
cd ../..
}
echo "Building the game on LÖVE $LOVE_VERSION!"
rm -Rf build/* release/*
mkdir -p build/game
mkdir -p release
build
downloadlove
makelove
makewin64
makemac

107
tools/macos-info.plist Normal file
View file

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>21D49</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>love</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>GameIcon</string>
<key>CFBundleTypeName</key>
<string>LÖVE Project</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>org.love2d.love-game</string>
</array>
<key>LSTypeIsPackage</key>
<integer>1</integer>
</dict>
<dict>
<key>CFBundleTypeName</key>
<string>Folder</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>fold</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>None</string>
</dict>
<dict>
<key>CFBundleTypeIconFile</key>
<string>Document</string>
<key>CFBundleTypeName</key>
<string>Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>love</string>
<key>CFBundleIconFile</key>
<string>OS X AppIcon</string>
<key>CFBundleIconName</key>
<string>OS X AppIcon</string>
<key>CFBundleIdentifier</key>
<string>com.theimpossibleastronaut.vision</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Vision</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>11.4a</string>
<key>CFBundleSignature</key>
<string>LoVe</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>13C100</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>12.1</string>
<key>DTSDKBuild</key>
<string>21C46</string>
<key>DTSDKName</key>
<string>macosx12.1</string>
<key>DTXcode</key>
<string>1321</string>
<key>DTXcodeBuild</key>
<string>13C100</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.games</string>
<key>LSMinimumSystemVersion</key>
<string>10.7</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>© 2006-2022 LÖVE Development Team</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<false/>
</dict>
</plist>