diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2020-05-15 11:25:15 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2020-05-15 11:31:04 +0000 |
| commit | c391b14eca661ffbc8a26e41c6acc2cd6d4a2d7e (patch) | |
| tree | db3a2b8463279f6d04ff1812ca3eb20146262b84 | |
| parent | move copilot logic, make startup scripts lua (diff) | |
| download | alive-c391b14eca661ffbc8a26e41c6acc2cd6d4a2d7e.tar.gz alive-c391b14eca661ffbc8a26e41c6acc2cd6d4a2d7e.zip | |
update windows release logic
| -rwxr-xr-x | dist/fix-bat-script.sh | 24 | ||||
| -rwxr-xr-x | dist/fix-lua-win.sh | 16 | ||||
| -rwxr-xr-x | dist/pack-win.sh | 27 | ||||
| -rwxr-xr-x | dist/release.sh | 29 |
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 |
