summaryrefslogtreecommitdiff
path: root/clean.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'clean.cmd')
-rw-r--r--clean.cmd87
1 files changed, 84 insertions, 3 deletions
diff --git a/clean.cmd b/clean.cmd
index 9dbeecf572..cdd00e7a2e 100644
--- 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