-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathExtractPackages.ps1
More file actions
34 lines (25 loc) · 835 Bytes
/
ExtractPackages.ps1
File metadata and controls
34 lines (25 loc) · 835 Bytes
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
# Variables
$projectFile = "src\MsSqlToolBelt\MsSqlToolBelt.csproj"
$projectFile = Resolve-Path -Path $projectFile
$outputFile = "src\MsSqlToolBelt\Packages.csv"
$outputFile = Resolve-Path -Path $outputFile
Write-Host "Files:"
Write-Host " - Project file: $projectFile"
Write-Host " - Output......: $outputFile"
$doc = [XML](Get-Content -Path $projectFile)
$elements = $doc.SelectNodes("//PackageReference")
if ($elements -eq $null)
{
Write-Host "Can't determine packages."
return -1
}
$result = [System.Collections.ArrayList]::new()
foreach ($element in $elements)
{
$package = $element.GetAttribute("Include")
$version = $element.GetAttribute("Version")
$result.Add("$package;$version") | Out-Null
}
$result | Out-File $outputFile
Write-Host "NuGet packages extracted and saved to $outputFile"
return 0;