-
Notifications
You must be signed in to change notification settings - Fork 1
/
BuildChoco.cmd
62 lines (50 loc) · 1.3 KB
/
BuildChoco.cmd
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
@echo off
rem ************************************************************
rem
rem Build a Chocolately package.
rem
rem ************************************************************
setlocal enabledelayedexpansion
:handle_help_request
if /i "%~1" == "-?" call :usage & exit /b 0
if /i "%~1" == "--help" call :usage & exit /b 0
:check_args
if /i "%~1" == "" call :usage & exit /b 1
:build
where /q choco
if !errorlevel! neq 0 goto :choco_missing
pushd "%~dp1."
if not exist "bin" (
mkdir "bin"
if !errorlevel! neq 0 popd & exit /b 1
)
set "pkglist=PkgList.txt"
if not exist "%pkglist%" (
echo ERROR: Package list "%pkglist%" is missing!
exit /b 1
)
for /f %%f in (%pkglist%) do (
if not exist "%%f" (
echo ERROR: Package artefact "%%f" not found
popd & exit /b 1
)
echo Copying artefact "%%f"
copy /y "%%f" "bin\." 1>nul
)
choco pack
if %errorlevel% neq 0 popd & exit /b 1
:success
exit /b 0
rem ************************************************************
rem Functions
rem ************************************************************
:usage
echo.
echo Usage: %~n0 ^<.nuspec file^>
echo.
echo e.g. %~n0 project\Chocolatey\project.nuspec
goto :eof
:choco_missing
echo ERROR: Chocolatey not installed or on the PATH.
echo See https://chocolatey.org/install for instructions.
exit /b !errorlevel!