X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=clean.cmd;h=bfdda8f2a3d6d8300e957186bd597d115a819b94;hb=06a2676689168f5190c29e7638a47a783cb9258b;hp=9dbeecf572fc923f1bb7f8a47ec175b0f69a60fe;hpb=ed1bde4534e2093f3f4dac949c07f358bdd01044;p=platform%2Fupstream%2Fcoreclr.git diff --git a/clean.cmd b/clean.cmd index 9dbeecf..bfdda8f 100644 --- a/clean.cmd +++ b/clean.cmd @@ -1,24 +1,47 @@ -@if not defined __echo @echo off +@if not defined _echo @echo off setlocal EnableDelayedExpansion -echo Running clean.cmd +set NO_DASHES_ARG=%1 +if not defined NO_DASHES_ARG goto no_help +if /I [%NO_DASHES_ARG:-=%] == [?] goto Usage +if /I [%NO_DASHES_ARG:-=%] == [h] goto Usage -if /I [%1] == [/?] goto Usage -if /I [%1] == [/help] goto Usage +:no_help +:: Check if VBCSCompiler.exe is running +tasklist /fi "imagename eq VBCSCompiler.exe" |find ":" > nul +:: Compiler is running if errorlevel == 1 +if errorlevel 1 ( + echo Stop VBCSCompiler.exe execution. + for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq VBCSCompiler.exe" /fo csv') do taskkill /f /PID %%~F +) -:: Set __ProjectDir to be the directory of this script -set "__ProjectDir=%~dp0" -:: remove trailing slash -if %__ProjectDir:~-1%==\ set "__ProjectDir=%__ProjectDir:~0,-1%" -set "__RootBinDir=%__ProjectDir%\bin" +:: Strip all dashes off the argument and use invariant +:: compare to match as many versions of "all" that we can +:: All other argument validation happens inside Run.exe +if not defined NO_DASHES_ARG goto no_args +if /I [%NO_DASHES_ARG:-=%] == [all] ( + echo Cleaning entire working directory ... + call git clean -xdf + exit /b !ERRORLEVEL! +) -if exist "%__RootBinDir%" rd /s /q "%__RootBinDir%" -if exist "%__ProjectDir%\Tools" rd /s /q "%__ProjectDir%\Tools" - -exit /b 0 +:no_args +if [%1]==[] set __args=/t:CleanAllProjects +if [%1]==[-b] set __args=/t:CleanAllProjects +if [%1]==[-p] set __args=/t:CleanPackages +if [%1]==[-c] set __args=/t:CleanPackagesCache +call %~dp0dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false /flp:v=normal;LogFile=clean.log %__args% +exit /b %ERRORLEVEL% :Usage echo. +echo Usage: clean [-b] [-p] [-c] [-all] echo Repository cleaning script. -echo No option parameters. -exit /b \ No newline at end of file +echo Options: +echo -b - Delete the binary output directory. +echo -p - Delete the repo-local NuGet package directory. +echo -c - Deletes the user-local NuGet package cache. +echo -all - Cleans repository and restores it to pristine state. +echo. +echo ^If no option is specified then "clean -b" is implied. +exit /b