replace batch files with kvm
This commit is contained in:
parent
45f361d0bd
commit
9c77f52cd1
|
|
@ -1,18 +0,0 @@
|
|||
@echo off
|
||||
cd %~dp0
|
||||
|
||||
SETLOCAL
|
||||
SET CACHED_NUGET=%LocalAppData%\NuGet\NuGet.exe
|
||||
|
||||
IF EXIST %CACHED_NUGET% goto copynuget
|
||||
echo Downloading latest version of NuGet.exe...
|
||||
IF NOT EXIST %LocalAppData%\NuGet md %LocalAppData%\NuGet
|
||||
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest 'https://www.nuget.org/nuget.exe' -OutFile '%CACHED_NUGET%'"
|
||||
|
||||
:copynuget
|
||||
IF EXIST .nuget\nuget.exe goto restore
|
||||
md .nuget
|
||||
copy %CACHED_NUGET% .nuget\nuget.exe > nul
|
||||
|
||||
:restore
|
||||
.nuget\NuGet.exe install ProjectK -o packages -nocache -pre
|
||||
30
K.cmd
30
K.cmd
|
|
@ -1,30 +0,0 @@
|
|||
@ECHO OFF
|
||||
|
||||
SETLOCAL ENABLEDELAYEDEXPANSION
|
||||
|
||||
SET CURRDIR=%CD%
|
||||
SET PARENTDIR=!CURRDIR!
|
||||
|
||||
:START
|
||||
IF EXIST !CURRDIR!\packages\ProjectK* FOR /F %%I IN ('DIR !CURRDIR!\packages\ProjectK* /B /O:-D') DO (SET ProjectKDir=%%I& GOTO :ENDFOR)
|
||||
:ENDFOR
|
||||
|
||||
SET LocalKCmd=!CURRDIR!\packages\!ProjectKDir!\tools\k.cmd
|
||||
|
||||
IF NOT EXIST !LocalKCmd! (
|
||||
CALL :RESOLVE !CURRDIR!\.. PARENTDIR
|
||||
IF !CURRDIR!=="!PARENTDIR!" (
|
||||
ECHO Unable to locate the ProjectK runtime
|
||||
ENDLOCAL & EXIT /b 1
|
||||
) ELSE (
|
||||
SET CURRDIR="!PARENTDIR!"
|
||||
GOTO :START
|
||||
)
|
||||
)
|
||||
|
||||
CALL !LocalKCmd! %*
|
||||
ENDLOCAL & EXIT /b %ERRORLEVEL%
|
||||
|
||||
:RESOLVE
|
||||
SET %2=%~f1
|
||||
GOTO :EOF
|
||||
|
|
@ -0,0 +1,187 @@
|
|||
@ECHO OFF
|
||||
IF "%1"=="" (
|
||||
CALL :cmd_help
|
||||
) ELSE (
|
||||
CALL :cmd_%1 %*
|
||||
IF ERRORLEVEL 1 CALL:cmd_help
|
||||
)
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_setup
|
||||
SET "_KVM_PATH=%USERPROFILE%\.k\"
|
||||
SET "_TEMP_PATH=%PATH%"
|
||||
|
||||
IF /I NOT "%~dp0"=="%_KVM_PATH%" (
|
||||
IF NOT EXIST "%_KVM_PATH%" MKDIR "%_KVM_PATH%"
|
||||
COPY "%~f0" "%_KVM_PATH%kvm.cmd"
|
||||
)
|
||||
|
||||
:PARSE_START
|
||||
@IF "%_TEMP_PATH%"=="" GOTO PARSE_END
|
||||
@FOR /F "tokens=1* delims=;" %%a in ("%_TEMP_PATH%") Do @IF "%%a"=="%_KVM_PATH%" GOTO:end_setup
|
||||
@FOR /F "tokens=1* delims=;" %%a in ("%_TEMP_PATH%") Do @SET _TEMP_PATH=%%b
|
||||
@GOTO PARSE_START
|
||||
:PARSE_END
|
||||
|
||||
SET "PATH=%PATH%;%_KVM_PATH%"
|
||||
powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Environment]::SetEnvironmentVariable('PATH',[Environment]::GetEnvironmentVariable('PATH','user')+';%_KVM_PATH%','user');"
|
||||
|
||||
|
||||
:end_setup
|
||||
CALL "%_KVM_PATH%kvm.cmd" upgrade
|
||||
@ECHO Running crossgen, see crossgen.log for results
|
||||
CALL "%_KVM_PATH%k.cmd" crossgen --in %_KVM_PATH%packages\ProjectK.%_KVM_VERSION%\tools\k10 >crossgen.log 2>crossgen.err.log
|
||||
SET _KVM_PATH=
|
||||
SET _TEMP_PATH=
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_upgrade
|
||||
CALL:cmd_install install
|
||||
CALL:cmd_alias alias default %_KVM_VERSION%
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_install
|
||||
IF NOT EXIST "%~dp0.nuget\NuGet.exe" (
|
||||
IF NOT EXIST "%~dp0.nuget" MKDIR "%~dp0.nuget"
|
||||
ECHO Downloading latest version of NuGet.exe...
|
||||
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "((new-object net.webclient).DownloadFile('https://nuget.org/nuget.exe', '%~dp0.nuget\NuGet.exe'))"
|
||||
)
|
||||
|
||||
IF NOT EXIST "%~dp0.nuget\NuGet.config" (
|
||||
echo ^<configuration^> >"%~dp0.nuget\NuGet.config"
|
||||
echo ^<packageSources^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^<add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/api/v2" /^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^</packageSources^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^<packageSourceCredentials^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^<AspNetVNext^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^<add key="Username" value="aspnetreadonly" /^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^<add key="ClearTextPassword" value="4d8a2d9c-7b80-4162-9978-47e918c9658c" /^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^</AspNetVNext^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^</packageSourceCredentials^> >>"%~dp0.nuget\NuGet.config"
|
||||
echo ^</configuration^> >>"%~dp0.nuget\NuGet.config"
|
||||
)
|
||||
|
||||
IF "%2"=="" (
|
||||
echo Finding latest version
|
||||
FOR /f "tokens=1,2" %%G in ('"%~dp0.nuget\NuGet.exe" list ProjectK -Prerelease -ConfigFile %~dp0.nuget\NuGet.config') DO (
|
||||
IF "%%G"=="ProjectK" (
|
||||
SET _KVM_VERSION=%%H
|
||||
)
|
||||
)
|
||||
) ELSE (
|
||||
SET "_KVM_VERSION=%2"
|
||||
)
|
||||
|
||||
ECHO Downloading version %_KVM_VERSION%
|
||||
"%~dp0.nuget\NuGet.exe" install ProjectK -Version %_KVM_VERSION% -OutputDirectory "%~dp0packages" -ConfigFile "%~dp0.nuget\NuGet.config"
|
||||
|
||||
CALL:cmd_use use %_KVM_VERSION%
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_use
|
||||
IF NOT EXIST "%~dp0k.cmd" (
|
||||
ECHO @CALL %%~dp0kvm.cmd k %%* >%~dp0k.cmd
|
||||
)
|
||||
IF EXIST "%~dp0alias\%2.txt" (
|
||||
FOR /F %%G IN (%~dp0alias\%2.txt) DO (
|
||||
ECHO Setting _KVM_VERSION to '%%G'
|
||||
SET "_KVM_VERSION=%%G"
|
||||
)
|
||||
) ELSE (
|
||||
IF NOT EXIST "%~dp0packages\ProjectK.%2\tools\k.cmd" (
|
||||
ECHO Version '%2' not found.
|
||||
ECHO You may need to run 'kvm install %2'
|
||||
GOTO:EOF
|
||||
)
|
||||
ECHO Setting _KVM_VERSION to '%2'
|
||||
SET "_KVM_VERSION=%2"
|
||||
)
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_alias
|
||||
IF NOT EXIST "%~dp0alias" (
|
||||
MKDIR "%~dp0alias"
|
||||
)
|
||||
IF "%3"=="" (
|
||||
IF "%2"=="" (
|
||||
DIR "%~dp0alias" /b
|
||||
) ELSE (
|
||||
ECHO Alias '%2' is
|
||||
TYPE "%~dp0alias\%2.txt"
|
||||
)
|
||||
) ELSE (
|
||||
IF NOT EXIST "%~dp0packages\ProjectK.%3\tools\k.cmd" (
|
||||
ECHO Version '%3' not found.
|
||||
ECHO You may need to run 'kvm install %3'
|
||||
GOTO:EOF
|
||||
)
|
||||
|
||||
ECHO Setting alias '%2' to '%3'
|
||||
ECHO %3>%~dp0alias\%2.txt
|
||||
)
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_list
|
||||
dir /b "%~dp0packages\ProjectK*"
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_k
|
||||
@REM find k.cmd in local paths
|
||||
|
||||
@REM read _KVM_VERSION.txt if _KVM_VERSION not set
|
||||
IF "%_KVM_VERSION%" == "" (
|
||||
FOR /F %%G IN (%~dp0alias\default.txt) DO (
|
||||
SET "_KVM_VERSION=%%G"
|
||||
)
|
||||
)
|
||||
IF NOT EXIST "%~dp0packages\ProjectK.%_KVM_VERSION%\tools\k.cmd" (
|
||||
ECHO Version '%_KVM_VERSION%' not found.
|
||||
ECHO You may need to run 'kvm install %_KVM_VERSION%'
|
||||
) ELSE (
|
||||
CALL "%~dp0packages\ProjectK.%_KVM_VERSION%\tools\k.cmd" %2 %3 %4 %5 %6 %7 %8 %9
|
||||
)
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
:cmd_help
|
||||
ECHO kvm ^<command^> [args...]
|
||||
ECHO k version manager
|
||||
ECHO .
|
||||
ECHO kvm help
|
||||
ECHO displays this help
|
||||
ECHO .
|
||||
ECHO kvm upgrade
|
||||
ECHO install latest k version and make it the default
|
||||
ECHO .
|
||||
ECHO kvm install ^<version^>
|
||||
ECHO install and use specific k version
|
||||
ECHO .
|
||||
ECHO kvm list
|
||||
ECHO list installed k versions
|
||||
ECHO .
|
||||
ECHO kvm use ^<version^>^|^<alias^>
|
||||
ECHO use a version or alias within the current command prompt
|
||||
ECHO .
|
||||
ECHO kvm alias ^<alias^> ^<version^>
|
||||
ECHO create alias to a specific version
|
||||
ECHO alias names may be passed to 'kvm use ^<alias^>'
|
||||
ECHO the alias 'default' determines the default k version
|
||||
ECHO when kvm use is not called
|
||||
ECHO .
|
||||
ECHO kvm alias ^<alias^>
|
||||
ECHO show the version of an alias
|
||||
ECHO .
|
||||
ECHO kvm alias
|
||||
ECHO list aliases
|
||||
ECHO .
|
||||
|
||||
GOTO:EOF
|
||||
|
||||
|
||||
Loading…
Reference in New Issue