Dependency/Install-DependencyNuget.ps1
function Install-DependencyNuget { [CmdletBinding()] Param( [Parameter(Mandatory)] [string] # The path to the nuget.exe $NugetPath, [Parameter(Mandatory, ParameterSetName = 'NameVersion')] [string] # The name of the dependency as set in the dependency config file $Name, [Parameter(Mandatory, ParameterSetName = 'NameVersion')] [string] # The version $Version, [Parameter(Mandatory, ParameterSetName = 'PackageConfig')] [string] # The name of the dependency as set in the dependency config file $ConfigPath, [Parameter(Mandatory)] [string] # The destination folder to install to. This should end in "\Packages" $Destination#, # [Parameter(Position, Mandatory)] # [ValidateSet('Install','Initialise')] # [string[]] # # Indicates if we should install the dependency or also initialise in the current session (sometimes you want to delay this due to DLL hell) # $Run = @('Install') ) # Ensure we have the source that we need Write-Verbose "$NugetPath sources list" $sources = & $NugetPath sources list if (-not ($sources -match 'nuget.org')) { Write-Verbose "$NugetPath sources Add -Name 'nuget.org' -Source 'https://api.nuget.org/v3/index.json'" $null = & $NugetPath sources Add -Name 'nuget.org' -Source 'https://api.nuget.org/v3/index.json' } # Now get the packages New-Item -Path $Destination -ItemType directory -Force 1> $null if ($PSCmdlet.ParameterSetName -eq 'NameVersion') { Write-Verbose "$NugetPath install '$Name' -version '$Version' -OutputDirectory '$Destination' -ExcludeVersion -PackageSaveMode nuspec -ForceEnglishOutput -Source nuget.org -NonInteractive -verbosity detailed" & $NugetPath install $Name -version $Version -OutputDirectory $Destination -ExcludeVersion -PackageSaveMode nuspec -ForceEnglishOutput -Source nuget.org -NonInteractive -verbosity detailed } else { Write-Verbose "$NugetPath install '$ConfigPath' -OutputDirectory '$Destination' -ExcludeVersion -PackageSaveMode nuspec -ForceEnglishOutput -Source nuget.org -NonInteractive -verbosity detailed" & $NugetPath install $ConfigPath -OutputDirectory $Destination -ExcludeVersion -PackageSaveMode nuspec -ForceEnglishOutput -Source nuget.org -NonInteractive -verbosity detailed } } |