mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-03 20:54:24 -07:00
Update the NuGet package provider when needed (#50759)
* Update the NuGet package provider when needed * Update NuGet provider conditionally
This commit is contained in:
parent
9c35f18dd6
commit
a7528cdd25
2 changed files with 12 additions and 14 deletions
|
@ -1,7 +1,7 @@
|
||||||
#!powershell
|
#!powershell
|
||||||
|
|
||||||
# Copyright: (c) 2017, Daniele Lazzari <lazzari@mailup.com>
|
|
||||||
# Copyright: (c) 2018, Wojciech Sciesinski <wojciech[at]sciesinski[dot]net>
|
# Copyright: (c) 2018, Wojciech Sciesinski <wojciech[at]sciesinski[dot]net>
|
||||||
|
# Copyright: (c) 2017, Daniele Lazzari <lazzari@mailup.com>
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
#Requires -Module Ansible.ModuleUtils.Legacy
|
#Requires -Module Ansible.ModuleUtils.Legacy
|
||||||
|
@ -18,13 +18,21 @@ $installationpolicy = Get-AnsibleParam -obj $params -name "installation_policy"
|
||||||
|
|
||||||
$result = @{"changed" = $false}
|
$result = @{"changed" = $false}
|
||||||
|
|
||||||
|
Function Update-NuGetPackageProvider {
|
||||||
|
$PackageProvider = Get-PackageProvider -ListAvailable | Where-Object { ($_.name -eq 'Nuget') -and ($_.version -ge "2.8.5.201") }
|
||||||
|
if ($null -eq $PackageProvider) {
|
||||||
|
Find-PackageProvider -Name Nuget -ForceBootstrap -IncludeDependencies -Force | Out-Null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$Repo = Get-PSRepository -Name $name -ErrorAction Ignore
|
$Repo = Get-PSRepository -Name $name -ErrorAction Ignore
|
||||||
if ($state -eq "present") {
|
if ($state -eq "present") {
|
||||||
if ($null -eq $Repo){
|
if ($null -eq $Repo) {
|
||||||
if ($null -eq $installationpolicy) {
|
if ($null -eq $installationpolicy) {
|
||||||
$installationpolicy = "trusted"
|
$installationpolicy = "trusted"
|
||||||
}
|
}
|
||||||
if (-not $check_mode) {
|
if (-not $check_mode) {
|
||||||
|
Update-NuGetPackageProvider
|
||||||
Register-PSRepository -Name $name -SourceLocation $source -InstallationPolicy $installationpolicy
|
Register-PSRepository -Name $name -SourceLocation $source -InstallationPolicy $installationpolicy
|
||||||
}
|
}
|
||||||
$result.changed = $true
|
$result.changed = $true
|
||||||
|
@ -42,6 +50,7 @@ if ($state -eq "present") {
|
||||||
|
|
||||||
if ($changed_properties.Count -gt 0) {
|
if ($changed_properties.Count -gt 0) {
|
||||||
if (-not $check_mode) {
|
if (-not $check_mode) {
|
||||||
|
Update-NuGetPackageProvider
|
||||||
Set-PSRepository -Name $name @changed_properties
|
Set-PSRepository -Name $name @changed_properties
|
||||||
}
|
}
|
||||||
$result.changed = $true
|
$result.changed = $true
|
||||||
|
@ -50,6 +59,7 @@ if ($state -eq "present") {
|
||||||
}
|
}
|
||||||
elseif ($state -eq "absent" -and $null -ne $Repo) {
|
elseif ($state -eq "absent" -and $null -ne $Repo) {
|
||||||
if (-not $check_mode) {
|
if (-not $check_mode) {
|
||||||
|
Update-NuGetPackageProvider
|
||||||
Unregister-PSRepository -Name $name
|
Unregister-PSRepository -Name $name
|
||||||
}
|
}
|
||||||
$result.changed = $true
|
$result.changed = $true
|
||||||
|
|
|
@ -13,18 +13,6 @@
|
||||||
when: powershell_major_version.stdout | int >= 5
|
when: powershell_major_version.stdout | int >= 5
|
||||||
block:
|
block:
|
||||||
|
|
||||||
- name: update NuGet version
|
|
||||||
win_shell: |
|
|
||||||
$nuget_exists = (Get-PackageProvider | Where-Object { $_.Name -eq 'Nuget' } | Measure-Object).Count -eq 1
|
|
||||||
|
|
||||||
if ( $nuget_exists ) {
|
|
||||||
$nuget_outdated = (Get-PackageProvider -Name NuGet -ErrorAction Ignore).Version -lt [Version]"2.8.5.201"
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( -not $nuget_exists -or $nuget_outdated ) {
|
|
||||||
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: ensure test repository is deleted
|
- name: ensure test repository is deleted
|
||||||
win_psrepository:
|
win_psrepository:
|
||||||
name: '{{ repository_name }}'
|
name: '{{ repository_name }}'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue