Merge pull request #6338 from swgillespie/revert-weakreference-tests
[platform/upstream/coreclr.git] / clean.cmd
index 9dbeecf..cdd00e7 100644 (file)
--- a/clean.cmd
+++ b/clean.cmd
@@ -3,22 +3,103 @@ setlocal EnableDelayedExpansion
 
 echo Running clean.cmd
 
+set bin=false
+set packages=false
+set tools = false
+
+if [%1]==[] (
+  set bin=true
+  set packages=true
+  set tools=true
+  goto Begin
+)
+
+:Loop
+if [%1]==[] goto Begin
+
 if /I [%1] == [/?] goto Usage
 if /I [%1] == [/help] goto Usage
 
+if /I [%1] == [/p] (
+    set packages=true
+    set thisArgs=!thisArgs!%1
+    goto Next
+)
+
+if /I [%1] == [/b] (
+    set bin=true
+    set thisArgs=!thisArgs!%1
+    goto Next
+)
+
+if /I [%1] == [/t] (
+    set tools=true
+    set thisArgs=!thisArgs!%1
+    goto Next
+)
+
+if /I [%1] == [/all] (
+    set tools=true
+    set bin=true
+    set packages=true
+    goto Begin
+)
+
+:Next
+shift /1
+goto Loop
+
+:Begin
 :: 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"
 
-if exist "%__RootBinDir%"           rd /s /q "%__RootBinDir%"
-if exist "%__ProjectDir%\Tools"     rd /s /q "%__ProjectDir%\Tools"
+if [%bin%] == [true] (
+       if exist "%__RootBinDir%" (
+               echo Deleting bin directory
+               rd /s /q "%__RootBinDir%"
+               if NOT [!ERRORLEVEL!]==[0] (
+                       echo ERROR: An error occurred while deleting the bin directory - error code is !ERRORLEVEL!
+                       exit /b 1
+               )
+       )
+)
+
+if [%tools%] == [true] (
+       if exist "%__ProjectDir%\Tools" (
+               echo Deleting tools directory
+               rd /s /q "%__ProjectDir%\Tools"
+               if NOT [!ERRORLEVEL!]==[0] (
+                       echo ERROR: An error occurred while deleting the Tools directory - error code is !ERRORLEVEL!
+                       exit /b 1
+               )
+       )
+)
 
+if [%packages%] == [true] (
+       if exist "%__ProjectDir%\packages" (
+               echo Deleting packages directory
+               rd /s /q "%__ProjectDir%\packages"
+               if NOT [!ERRORLEVEL!]==[0] (
+                       echo ERROR: An error occurred while deleting the packages directory - error code is !ERRORLEVEL!
+                       exit /b 1
+               )
+       )
+)
+
+echo Clean was successful
 exit /b 0
 
 :Usage
 echo.
 echo Repository cleaning script.
-echo No option parameters.
+echo Options:
+echo     /b     - Cleans the bin directory
+echo     /p     - Cleans the packages directory
+echo     /t     - Cleans the tools directory
+echo     /all   - Cleans everything
+echo.
+echo If no option is specified then clean.cmd /b /p /t is implied.
 exit /b
\ No newline at end of file