aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-05-15 11:25:15 +0000
committers-ol <s-ol@users.noreply.github.com>2020-05-15 11:31:04 +0000
commitc391b14eca661ffbc8a26e41c6acc2cd6d4a2d7e (patch)
treedb3a2b8463279f6d04ff1812ca3eb20146262b84
parentmove copilot logic, make startup scripts lua (diff)
downloadalive-c391b14eca661ffbc8a26e41c6acc2cd6d4a2d7e.tar.gz
alive-c391b14eca661ffbc8a26e41c6acc2cd6d4a2d7e.zip
update windows release logic
-rwxr-xr-xdist/fix-bat-script.sh24
-rwxr-xr-xdist/fix-lua-win.sh16
-rwxr-xr-xdist/pack-win.sh27
-rwxr-xr-xdist/release.sh29
4 files changed, 59 insertions, 37 deletions
diff --git a/dist/fix-bat-script.sh b/dist/fix-bat-script.sh
new file mode 100755
index 0000000..0a3c8f0
--- /dev/null
+++ b/dist/fix-bat-script.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+IN=$1
+MODE=$2
+
+head -n 2 $IN
+
+cat <<EOF
+set PR=%~dp0..\\
+set PP=%PR:\\=/%
+EOF
+
+PP="D:/alive_pkg/lua/"
+PR=${PP//\//\\\\}\\\\?
+
+if [ "$MODE" = wlua ]; then
+ tail -n 2 $IN | \
+ sed -r "s|${PR}|%PR%|g" | \
+ sed "s|${PP}|%PP%|g" | \
+ sed 's|"%PR%bin\\lua5.3.exe"|start "Lua" "%PR%bin\\wlua5.3.exe"|'
+else
+ tail -n 2 $IN | \
+ sed -r "s|${PR}|%PR%|g" | \
+ sed "s|${PP}|%PP%|g"
+fi
diff --git a/dist/fix-lua-win.sh b/dist/fix-lua-win.sh
deleted file mode 100755
index d7f0c39..0000000
--- a/dist/fix-lua-win.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-IN=$1
-
-head -n 2 $IN
-
-cat <<EOF
-set PR=%~dp0..\\
-set PP=%PR:\\=/%
-EOF
-
-PP="D:/alive_pkg/lua/"
-PR=${PP//\//\\\\}\\\\?
-
-tail -n 2 $IN | \
-sed -r "s|${PR}|%PR%|g" | \
-sed "s|${PP}|%PP%|g"
diff --git a/dist/pack-win.sh b/dist/pack-win.sh
index bfa3a58..d9b35f3 100755
--- a/dist/pack-win.sh
+++ b/dist/pack-win.sh
@@ -2,12 +2,20 @@
TAG="$1"
ROCKVER="$2"
+LUA_WIN="$3"
+if [ -z "$LUA_WIN" ]; then
+ LUA_WIN="/mnt/d/alive_pkg/lua"
+fi
BUNDLE="alive-$TAG-win"
ROCK="alive-$ROCKVER.all.rock"
set -e
+if [ "$TAG" = "test" ]; then
+ rm -rf "dist/$BUNDLE" "dist/$BUNDLE.zip"
+fi
+
if [ -e "dist/$BUNDLE.zip" ]; then
echo "dist/$BUNDLE.zip already exists!"
exit 2
@@ -22,29 +30,26 @@ mkdir -p "dist/$BUNDLE"
cp -r docs hello.alv LICENSE "dist/$BUNDLE/"
rm -rf "dist/$BUNDLE/docs/"*.md "dist/$BUNDLE/docs/"*.ltp "dist/$BUNDLE/docs/gen"
-unzip dist/lua-win.zip -d "dist/$BUNDLE/"
-luarocks --tree "dist/$BUNDLE/lua" install --deps-mode none "dist/rocks/$ROCK"
+cp -r "$LUA_WIN" "dist/$BUNDLE/"
cat <<EOF >"dist/$BUNDLE/alv.bat"
@echo off
-setlocal
-set PATH=%PATH%;%~dp0\\lua\\bin
-set LUA_PATH=%LUA_PATH%;%~dp0\?.lua;%~dp0\?\init.lua
-moon "%~dp0\\lua\\lib\\luarocks\\rocks-5.3\\alive\\$ROCKVER\\bin\\alv" %*
+%~dp0lua\bin\alv.bat --nocolor %*
exit /b %ERRORLEVEL%
EOF
cat <<EOF >"dist/$BUNDLE/alv-fltk.bat"
@echo off
-setlocal
-set PATH=%PATH%;%~dp0\\lua\\bin
-set LUA_PATH=%LUA_PATH%;%~dp0\?.lua;%~dp0\?\init.lua
-moon "%~dp0\\lua\\lib\\luarocks\\rocks-5.3\\alive\\$ROCKVER\\bin\\alv-fltk" %*
+%~dp0lua\bin\alv-fltk.bat %*
exit /b %ERRORLEVEL%
EOF
for script in "dist/$BUNDLE/lua/bin/"*.bat; do
- dist/fix-lua-win.sh "$script" > "$script.nu"
+ case "$(basename "$script" .bat)" in
+ alv-fltk|alv-wx) mode="wlua" ;;
+ *) mode= ;;
+ esac
+ dist/fix-bat-script.sh "$script" $mode > "$script.nu"
mv "$script.nu" "$script"
done
diff --git a/dist/release.sh b/dist/release.sh
index 59568d2..45ed42e 100755
--- a/dist/release.sh
+++ b/dist/release.sh
@@ -6,12 +6,27 @@ REVISION="${2:-1}"
ROCK_OPTS=""
WHERE=""
+list_modules() {
+ for FILE in $(git ls-files "$1" | grep '\.moon$'); do
+ MODULE=$(echo "$FILE" | sed -e "s/\.moon$//" -e "s/\//./g")
+ echo " [\"$MODULE\"] = \"$FILE\","
+ done
+}
+
if [ "$TAG" = "scm" ]; then
TAG=""
VERSION="scm"
elif [ "$TAG" = "test" ]; then
VERSION="test"
REVISION=999
+
+ list_modules() {
+ for FILE in $(find alv alv-lib -type f | grep '\.moon$'); do
+ MODULE=$(echo "$FILE" | sed -e "s/\.moon$//" -e "s/\//./g")
+ echo " [\"$MODULE\"] = \"$FILE\","
+ done
+ }
+
else
VERSION="${TAG#v}"
VERSION=$(echo "$VERSION" | tr -d -)
@@ -49,13 +64,6 @@ EOF
ROCK_OPTS="--sign"
fi
-list_modules() {
- for FILE in $(git ls-files "$1" | grep '\.moon$'); do
- MODULE=$(echo "$FILE" | sed -e "s/\.moon$//" -e "s/\//./g")
- echo " [\"$MODULE\"] = \"$FILE\","
- done
-}
-
cat <<STOP >"dist/rocks/alive-$VERSION-$REVISION.rockspec"
package = "alive"
version = "$VERSION-$REVISION"
@@ -79,7 +87,7 @@ text-based language and works without special editor support.]],
dependencies = {
"lua",
"moonscript >= 0.5.0",
- "lpeg ~> 0.10",
+ "lpeg",
"luafilesystem",
"luasystem",
"luasocket",
@@ -105,7 +113,7 @@ $(list_modules alv-lib)
}
STOP
-if [ -n "$TAG" -a "$TAG" != "test" ]; then
+if [ -n "$TAG" ] && [ "$TAG" != "test" ]; then
git add "alv/version.moon" "dist/rocks/alive-$VERSION-$REVISION.rockspec"
git commit -m "release $TAG"
git tag -am "version $TAG" "$TAG"
@@ -118,5 +126,6 @@ if [ -n "$TAG" ]; then
luarocks make "dist/rocks/alive-$VERSION-$REVISION.rockspec" $ROCK_OPTS \
--deps-mode none --pack-binary-rock
mv "alive-$VERSION-$REVISION.all.rock"* dist/rocks
- dist/pack-win.sh "$TAG" "$VERSION-$REVISION"
+ echo "now install 'alive-$VERSION-$REVISION.all.rock' on windows and run"
+ echo dist/pack-win.sh "$TAG" "$VERSION-$REVISION"
fi