summaryrefslogtreecommitdiff
path: root/clean.cmd
blob: cdd00e7a2e61479f9b5180e29f45339365f5a366 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
@if not defined __echo @echo off
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 [%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 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