-
Notifications
You must be signed in to change notification settings - Fork 6
/
NugetAll.ps1
90 lines (82 loc) · 2.26 KB
/
NugetAll.ps1
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
$key=$env:nugetKey
function RunCommand
{
$numOfArgs = $args.Length
for ($i=0; $i -lt $numOfArgs; $i++)
{
iex $args[$i]
if($LASTEXITCODE -eq 0 -or $i -eq 0) {
Write-Host "$($args[$i]) success"
}
else{
Write-Host "$($args[$i]) failed"
return 0
}
}
return 1
}
function NugetPack
{
$numOfArgs = $args.Length
for ($i=0; $i -lt $numOfArgs; $i++)
{
Write-Host "NugetPack $($args[$i])"
$result = RunCommand "Remove-Item -Recurse -Force .\$($args[$i])\bin\Release\**" `
"dotnet build $($args[$i])\$($args[$i]).csproj -c Release" `
"nuget pack $($args[$i])\$($args[$i]).nuspec -OutputDirectory .\$($args[$i])\bin\Release -p 'build='"
if($result) {
Write-Host "$($args[$i]) success"
}
else{
Write-Host "$($args[$i]) failed"
return 0
}
}
return 1
}
function NugetPush
{
$numOfArgs = $args.Length
for ($i=0; $i -lt $numOfArgs; $i++)
{
Write-Host "NugetPush $($args[$i])"
iex "dotnet nuget push $($args[$i])\bin\Release\*.nupkg --api-key $($key) --source https://api.nuget.org/v3/index.json"
}
}
$result = NugetPack "FFmpegArgs" `
"FFmpegArgs.Extensions" `
"FFmpegArgs.Cores" `
"FFmpegArgs.Filters.Common" `
"FFmpegArgs.Filters" `
"FFmpegArgs.Filters.Generated" `
"FFmpegArgs.Inputs" `
"FFmpegArgs.Outputs" `
"FFmpegArgs.Executes"
if($result)
{
if([string]::IsNullOrEmpty($key))
{
Write-Host "Build & pack success"
}
else
{
Write-Host "enter to push nuget"
pause
Write-Host "enter to confirm"
pause
NugetPush "FFmpegArgs" `
"FFmpegArgs.Extensions" `
"FFmpegArgs.Cores" `
"FFmpegArgs.Filters.Common" `
"FFmpegArgs.Filters" `
"FFmpegArgs.Filters.Generated" `
"FFmpegArgs.Inputs" `
"FFmpegArgs.Outputs" `
"FFmpegArgs.Executes"
}
}
else
{
echo "Build & pack error"
}
pause