@@ -1496,21 +1496,33 @@ function New-UnifiedNugetPackage
14961496
14971497 ' Microsoft.PowerShell.Commands.Management' {
14981498 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.PowerShell.Security' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1499- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceProcess.ServiceController' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1499+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1500+ {
1501+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1502+ }
15001503 }
15011504
15021505 ' Microsoft.PowerShell.Commands.Utility' {
15031506 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Management.Automation' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1504- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.CodeAnalysis.CSharp' ), [tuple ]::Create(' version' , ' 2.7.0' ))) > $null
1507+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1508+ {
1509+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1510+ }
15051511 }
15061512
15071513 ' Microsoft.PowerShell.ConsoleHost' {
15081514 $deps.Add ([tuple ]::Create( [tuple ]::Create(' id' , ' System.Management.Automation' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1509- $deps.Add ([tuple ]::Create( [tuple ]::Create(' id' , ' Microsoft.ApplicationInsights' ), [tuple ]::Create(' version' , ' 2.4.0' ))) > $null
1515+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1516+ {
1517+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1518+ }
15101519 }
15111520
15121521 ' Microsoft.PowerShell.CoreCLR.Eventing' {
1513- $deps.Add ([tuple ]::Create( [tuple ]::Create(' id' , ' System.Security.Principal.Windows' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1522+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1523+ {
1524+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1525+ }
15141526 }
15151527
15161528 ' Microsoft.PowerShell.SDK' {
@@ -1519,20 +1531,10 @@ function New-UnifiedNugetPackage
15191531 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.PowerShell.ConsoleHost' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
15201532 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.PowerShell.Security' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
15211533 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Management.Automation' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1522- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Data.SqlClient' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1523- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.IO.Packaging' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1524- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Net.Http.WinHttpHandler' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1525- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceModel.Duplex' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1526- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceModel.Http' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1527- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceModel.NetTcp' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1528- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceModel.Primitives' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1529- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceModel.Security' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1530- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Text.Encodings.Web' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1531- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Threading.AccessControl' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1532- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Private.ServiceModel' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1533- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.NETCore.Windows.ApiSets' ), [tuple ]::Create(' version' , ' 1.0.1' ))) > $null
1534- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.WSMan.Management' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1535- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.PowerShell.Commands.Diagnostics' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1534+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1535+ {
1536+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1537+ }
15361538 }
15371539
15381540 ' Microsoft.PowerShell.Security' {
@@ -1542,7 +1544,10 @@ function New-UnifiedNugetPackage
15421544 ' Microsoft.WSMan.Management' {
15431545 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Management.Automation' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
15441546 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.WSMan.Runtime' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1545- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.ServiceProcess.ServiceController' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1547+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1548+ {
1549+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1550+ }
15461551 }
15471552
15481553 ' Microsoft.WSMan.Runtime' {
@@ -1551,13 +1556,11 @@ function New-UnifiedNugetPackage
15511556
15521557 ' System.Management.Automation' {
15531558 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.PowerShell.CoreCLR.Eventing' ), [tuple ]::Create(' version' , $PackageVersion ))) > $null
1554- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.Win32.Registry.AccessControl' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1555- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Newtonsoft.Json' ), [tuple ]::Create(' version' , ' 10.0.3' ))) > $null
1556- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.IO.FileSystem.AccessControl' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1557- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Security.AccessControl' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1558- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Security.Cryptography.Pkcs' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1559- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Security.Permissions' ), [tuple ]::Create(' version' , ' 4.5.0' ))) > $null
1560- $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' System.Text.Encoding.CodePages' ), [tuple ]::Create(' version' , ' 4.3.0' ))) > $null
1559+ foreach ($packageInfo in (Get-ProjectPackageInformation - ProjectName $fileBaseName ))
1560+ {
1561+ $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , $packageInfo.Name ), [tuple ]::Create(' version' , $packageInfo.Version ))) > $null
1562+ }
1563+
15611564 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' Microsoft.Management.Infrastructure' ), [tuple ]::Create(' version' , ' 1.0.0-alpha08' ))) > $null
15621565 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' PowerShell.Core.Instrumentation' ), [tuple ]::Create(' version' , ' 6.0.0-RC2' ))) > $null
15631566 $deps.Add ([tuple ]::Create([tuple ]::Create(' id' , ' libpsl' ), [tuple ]::Create(' version' , ' 6.0.0-rc' ))) > $null
@@ -1580,6 +1583,41 @@ function New-UnifiedNugetPackage
15801583 }
15811584}
15821585
1586+ <#
1587+ . SYNOPSIS
1588+ Return the list of packages and versions used by a project
1589+
1590+ . PARAMETER ProjectName
1591+ The name of the project to get the projects for.
1592+ #>
1593+ function Get-ProjectPackageInformation
1594+ {
1595+ param (
1596+ [Parameter (Mandatory = $true )]
1597+ [string ]
1598+ $ProjectName
1599+ )
1600+
1601+ $csproj = " $PSScriptRoot \..\..\src\$ProjectName \$ProjectName .csproj"
1602+ [xml ] $csprojXml = (Get-content - Raw - Path $csproj )
1603+
1604+ # get the package references
1605+ $packages = $csprojXml.Project.ItemGroup.PackageReference
1606+
1607+ # check to see if there is a newer package for each refernce
1608+ foreach ($package in $packages )
1609+ {
1610+ if ($package.Version -notmatch ' \*' -and $package.Include )
1611+ {
1612+ # Get the name of the package
1613+ [PSCustomObject ] @ {
1614+ Name = $package.Include
1615+ Version = $package.Version
1616+ }
1617+ }
1618+ }
1619+ }
1620+
15831621<#
15841622. SYNOPSIS
15851623Creates a nuspec file.
0 commit comments