45 lines
1.5 KiB
PowerShell
45 lines
1.5 KiB
PowerShell
<#
|
|
.SYNOPSIS
|
|
Short description
|
|
.DESCRIPTION
|
|
Long description
|
|
.EXAMPLE
|
|
Example of how to use this cmdlet
|
|
.EXAMPLE
|
|
Another example of how to use this cmdlet
|
|
#>
|
|
function Push-ChocoIntPackage {
|
|
[CmdletBinding()]
|
|
param(
|
|
[Parameter(Mandatory=$true,ValueFromPipeline=$True)]
|
|
[pscustomobject[]]$PackageNames,
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$Path,
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$RepositoryURL,
|
|
[Parameter(Mandatory=$true)]
|
|
[ValidateNotNull()]
|
|
[System.Management.Automation.PSCredential]$ApiKey
|
|
)
|
|
process {
|
|
foreach ($Package in $PackageNames){
|
|
foreach ($NuPkg in $Package.NuGetpkgs) {
|
|
$MetaData = Get-ChocoPackageMetaData -ChocolateyPackage $NuPkg
|
|
choco push $NuPkg --force --source $RepositoryURL --api-key $ApiKey.GetNetworkCredential().Password --timeout=3600 | Write-Verbose
|
|
if ($LASTEXITCODE -ne 0){
|
|
$Result = 'Push Failed'
|
|
}
|
|
else {
|
|
$Result = 'Push Success'
|
|
}
|
|
Write-Verbose "$($MetaData.Name) push failed"
|
|
[PSCustomObject]@{
|
|
Name = $MetaData.Name
|
|
Result = $Result
|
|
Version = $MetaData.Version
|
|
NuGetPackage = $NuPkg
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |