-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdefault.ps1
More file actions
63 lines (50 loc) · 1.93 KB
/
default.ps1
File metadata and controls
63 lines (50 loc) · 1.93 KB
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
Framework "4.5.2x64"
properties {
$base_dir = $psake.build_script_dir
$nspec_runner = "$base_dir\packages\nspec.1.0.1\tools\NSpecRunner.exe"
$destination_dir = $output
$nuget = "$base_dir\.nuget\NuGet.exe"
}
Task default -depends Clean, Restore, Build
Task Publish-Nuget-Package {
$apikey = Read-Host -Prompt 'Enter Api Key'
publish-package "Kong" $apikey
}
Task Build {
exec { msbuild "$base_dir/Kong.sln" }
}
Task Clean {
Get-ChildItem ./ -include bin,obj -Recurse -Force | % {
write-host "Cleaning $_"
Remove-Item $_ -Recurse -Force
}
}
Task Restore {
Get-ChildItem $base_dir -Filter *.sln | % {
exec { & "$base_dir\.nuget\NuGet.exe" restore "$_" }
}
}
function publish-package($nuspec, $apikey) {
$file = "$base_dir\$nuspec\$nuspec.nuspec"
write-host $file
$spec = [xml](get-content $file)
$version = $spec.package.metadata.version
$package = "$base_dir\$nuspec.$version.nupkg"
$package_dir = "$base_dir\$nuspec\bin\package"
# Prepare package folder
remove-item $package_dir -R -ErrorAction SilentlyContinue
new-item -itemtype directory "$package_dir"
new-item -itemtype directory "$package_dir/lib"
new-item -itemtype directory "$package_dir/lib/net45"
# Copy nuspec file to package folder
copy-item "$base_dir\$nuspec\$nuspec.nuspec" "$package_dir\$nuspec.nuspec"
# Copy libraries to package folders
get-childitem "$base_dir\$nuspec\bin\Debug" | ? { $_.Name -like "$nuspec*.dll" -and $_.Name } | % { copy-item $_.FullName "$package_dir\lib\net45" }
# Create nuget package and upload to nuget
exec { & $nuget pack "$package_dir/$nuspec.nuspec" }
exec { & $nuget setApiKey $apikey }
exec { & $nuget push "$package" }
# Perform some cleanup on the folder
remove-item $package
remove-item $package_dir -R -ErrorAction SilentlyContinue
}