Skip to content

Commit 50ac304

Browse files
committed
fix PR comments
1 parent fed120a commit 50ac304

File tree

1 file changed

+36
-21
lines changed

1 file changed

+36
-21
lines changed

tools/DeleteModules.ps1

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,16 @@
1212
# limitations under the License.
1313
# ----------------------------------------------------------------------------------
1414

15+
#Requires -Modules AzureRM.KeyVault
16+
[CmdletBinding(
17+
DefaultParameterSetName='Scope',
18+
SupportsShouldProcess=$true
19+
)]
1520
param(
16-
[Parameter(Mandatory = $true, Position = 0)]
17-
[ValidateSet("ModuleList", "AzureRMAndDependencies", "AzureAndDependencies", "NetCoreModules", "AzureStackAndDependencies")]
21+
[Parameter(ParameterSetName='Scope', Mandatory = $true, Position = 0)]
22+
[ValidateSet("AzureRMAndDependencies", "AzureAndDependencies", "NetCoreModules", "AzureStackAndDependencies")]
1823
[string] $scope,
19-
[Parameter(Mandatory = $false)]
24+
[Parameter(ParameterSetName='ModuleList', Mandatory = $false)]
2025
[string[]] $listOfModules,
2126
[Parameter(Mandatory = $false)]
2227
[ValidateSet("TestGallery", "PSGallery")]
@@ -36,7 +41,7 @@ function Get-TargetModules
3641
[string[]]$moduleList
3742
)
3843

39-
if ($scope -eq "ModuleList")
44+
if ($listOfModules.Count -ge 1)
4045
{
4146
$targets = @()
4247
$moduleList | ForEach-Object {
@@ -61,15 +66,14 @@ function Get-TargetModules
6166
}
6267

6368
$azureRmAllVersions = Find-Module -Name $query -Repository PSGallery -AllVersions
64-
$azureRmCurrent = $azureRmAllVersions[0]
65-
$azureRmPrevious = $azureRmAllVersions[1]
66-
$currentDependencies = Find-Module -Name $query -Repository $repoName -RequiredVersion $azureRmCurrent.Version -IncludeDependencies
67-
$previousDependencies = Find-Module -Name $query -Repository $repoName -RequiredVersion $azureRmPrevious.Version -IncludeDependencies
69+
$targets += $azureRmAllVersions[0]
70+
$currentDependencies = $azureRmAllVersions[0].Dependencies
71+
$previousDependencies = $azureRmAllVersions[1].Dependencies
6872
$currentDependencies | ForEach-Object {
6973
$CDModule = $_
7074
$versionChanged = $true
7175
$previousDependencies | ForEach-Object {
72-
if (($_.Name -eq $CDModule.Name) -and ($_.Version -eq $CDModule.Version))
76+
if (($_.Name -eq $CDModule.Name) -and (($_.RequiredVersion -eq $CDModule.RequiredVersion) -and ($_.MinimumVersion -eq $CDModule.MinimumVersion)))
7377
{
7478
$versionChanged = $false
7579
}
@@ -157,21 +161,15 @@ function Get-ApiKey
157161

158162
if ([string]::IsNullOrEmpty($nugetExe))
159163
{
160-
Write-Verbose "Use default nuget path"
161164
$nugetExe = "$PSScriptRoot\nuget.exe"
162165
}
166+
Write-Host "Using the following NuGet path: $nugetExe"
163167

164168
if ([string]::IsNullOrEmpty($repoName))
165169
{
166-
Write-Verbose "Deleting from PSGallery"
167170
$repoName = "PSGallery"
168171
}
169-
170-
if (($scope -eq "ModuleList") -and ($listOfModules -eq $null))
171-
{
172-
Write-Error "Must supply -ListOfModule when using ModuleList scope"
173-
return
174-
}
172+
Write-Host "Deleting modules from the following repository: $repoName"
175173

176174
$repositoryLocation = "https://dtlgalleryint.cloudapp.net/api/v2/package/"
177175
if ($repoName -eq "PSGallery")
@@ -185,9 +183,26 @@ if ([string]::IsNullOrEmpty($apiKey))
185183
}
186184

187185
$ModulesToDelete = Get-TargetModules -scope $scope -moduleList $listOfModules
188-
$ModulesToDelete
186+
$ModulesToDeleteName = $ModulesToDelete | ForEach-Object {$_.Name}
187+
$ModulesToDeleteName
189188
$azureModules = Find-Module Azure* -Repository $repoName
190-
$ModulesToDelete | ForEach-Object {
191-
Get-DependentModules -repoName $repoName -moduleName $_.Name -moduleVersion $_.Version -allModules $ModulesToDelete -azureModules $azureModules
192-
&$nugetExe delete $_.Name $_.Version -ApiKey $apiKey -Source $repositoryLocation
189+
if ($PSCmdlet.ShouldProcess("Module(s) being deleted: $ModulesToDeleteName"))
190+
{
191+
$ModulesToDelete | ForEach-Object {
192+
if (![string]::IsNullOrEmpty($_.Version))
193+
{
194+
Get-DependentModules -repoName $repoName -moduleName $_.Name -moduleVersion $_.Version -allModules $ModulesToDelete -azureModules $azureModules
195+
&$nugetExe delete $_.Name $_.Version -ApiKey $apiKey -Source $repositoryLocation
196+
}
197+
elseif (![string]::IsNullOrEmpty($_.RequiredVersion))
198+
{
199+
Get-DependentModules -repoName $repoName -moduleName $_.Name -moduleVersion $_.RequiredVersion -allModules $ModulesToDelete -azureModules $azureModules
200+
&$nugetExe delete $_.Name $_.RequiredVersion -ApiKey $apiKey -Source $repositoryLocation
201+
}
202+
elseif (![string]::IsNullOrEmpty($_.MinimumVersion))
203+
{
204+
Get-DependentModules -repoName $repoName -moduleName $_.Name -moduleVersion $_.MinimumVersion -allModules $ModulesToDelete -azureModules $azureModules
205+
&$nugetExe delete $_.Name $_.MinimumVersion -ApiKey $apiKey -Source $repositoryLocation
206+
}
207+
}
193208
}

0 commit comments

Comments
 (0)