summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorruki <[email protected]>2023-05-10 16:41:36 +0800
committerGitHub <[email protected]>2023-05-10 16:41:36 +0800
commit643719b7e52a0a2bf458853d2b0381e416bdf433 (patch)
treedb1886141e5727d2d2990421c964850878ceba0c /scripts
parent5b258b7996411c674d255ee15194d0c78afee9de (diff)
parentc8169591343bf62a970b2edffc90e26cfdfb2d31 (diff)
Merge pull request #3724 from xq114/dev
use pushd and popd to tackle venv
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/xrepo.bat27
1 files changed, 10 insertions, 17 deletions
diff --git a/scripts/xrepo.bat b/scripts/xrepo.bat
index 7a5926cdb..8cdd7a5b6 100755
--- a/scripts/xrepo.bat
+++ b/scripts/xrepo.bat
@@ -1,4 +1,5 @@
-@set "XMAKE_EXE=xmake"
+@set "XMAKE_ROOTDIR=%~dp0"
+@set "XMAKE_EXE=%XMAKE_ROOTDIR%xmake.exe"
@if [%1]==[env] (
if [%2]==[quit] (
@@ -35,18 +36,14 @@
exit /B 1
) else (
setlocal EnableDelayedExpansion
- @%XMAKE_EXE% lua --quiet private.xrepo.action.env | findstr . && (
- echo error: corrupt xmake.lua detected in the current directory^^!
- exit /B 1
- )
- @%XMAKE_EXE% lua --quiet private.xrepo.action.env
- if !errorlevel! neq 0 (
- exit /B !errorlevel!
- )
%XMAKE_EXE% lua private.xrepo.action.env.info config
if !errorlevel! neq 0 (
exit /B !errorlevel!
)
+ @%XMAKE_EXE% lua --quiet private.xrepo.action.env | findstr . && (
+ echo error: corrupt xmake.lua detected in the current directory^^!
+ exit /B 1
+ )
@%XMAKE_EXE% lua --quiet private.xrepo.action.env.info prompt 1>nul
if !errorlevel! neq 0 (
echo error: xmake.lua not found^^!
@@ -88,21 +85,16 @@
echo Please rerun `xrepo env %2 %3 shell` to enter the environment.
exit /B 1
) else (
+ pushd %XMAKE_ROOTDIR%
setlocal EnableDelayedExpansion
- @%XMAKE_EXE% lua --quiet private.xrepo.action.env | findstr . && (
- echo error: corrupt xmake.lua detected in the current directory^^!
- exit /B 1
- )
- @%XMAKE_EXE% lua --quiet private.xrepo.action.env
- if !errorlevel! neq 0 (
- exit /B !errorlevel!
- )
%XMAKE_EXE% lua private.xrepo.action.env.info config %3
if !errorlevel! neq 0 (
+ popd
exit /B !errorlevel!
)
@%XMAKE_EXE% lua --quiet private.xrepo.action.env.info prompt %3 1>nul
if !errorlevel! neq 0 (
+ popd
echo error: environment not found^^!
exit /B !errorlevel!
)
@@ -120,6 +112,7 @@
@"%XMAKE_EXE%" lua --quiet private.xrepo.action.env.info script.cmd %3 1>"%%i.bat"
call "%%i.bat"
)
+ popd
goto :ENDXREPO
)
)