Merge branch 'master' into chore/hubot_repos
This commit is contained in:
commit
f9c992e48e
|
@ -0,0 +1,118 @@
|
|||
# Changelog for Chocolatey cookbook
|
||||
|
||||
## v3.0.0 (2019-07-11)
|
||||
|
||||
- Add `node['chocolatey']['sensitive']` attribute (default: false) to give users the option to suppress output spam when the install.ps1 file is pushed to the machine.
|
||||
- Require Chef Infra Client 12.15 or later
|
||||
- Resolve minor Cookstyle warnings
|
||||
- Fix `node['chocolatey']['upgrade']` to properly upgrade the `chocolatey` package
|
||||
- Upgrade to the latest and greatest Chocolatey install script
|
||||
|
||||
## v2.0.1 (2018-07-03)
|
||||
|
||||
- Remove mentions of the package provider from the readme and metadata
|
||||
|
||||
## v2.0.0 (2018-05-01)
|
||||
|
||||
### Breaking Change
|
||||
|
||||
The package LWRP has been removed from this cookbook. chocolatey_package was integrated into Chef 12.7, which was released in Feb 2016\. This cookbook now requires Chef 12.7 or later.
|
||||
|
||||
### Other Changes
|
||||
|
||||
- This cookbook no longer requires the Windows cookbook
|
||||
- The install script has been updated to the latest Chocolatey install script
|
||||
- Converted testing to use Delivery Local Mode from within ChefDK
|
||||
|
||||
## v1.2.1 (2017-08-20)
|
||||
|
||||
- Explicitly use the double-dash long option names for `--source` and `--installargs`
|
||||
|
||||
## v1.2.0 (2017-05-04)
|
||||
|
||||
- Change the default `['chocolatey']['upgrade']` attribute value to `false`. Preventing chocolatey from reinstalling every chef run
|
||||
|
||||
## v1.1.1 (2017-04-22)
|
||||
|
||||
- Fix chef 13 converges renaming conflicting `env_path` method
|
||||
|
||||
## v1.1.0 (2017-01-09)
|
||||
|
||||
- Update the chocolatey install script to match chocolatey.org.
|
||||
|
||||
## v1.0.3 (2016-09-12)
|
||||
|
||||
- Loosen windows-cookbook constraint
|
||||
|
||||
## v1.0.2 (2016-08-29)
|
||||
|
||||
- Ensure `chocolateyVersion` attribute is used and the correct version of chocolatey is installed.
|
||||
|
||||
## v1.0.1 (2016-07-15)
|
||||
|
||||
- Always execute chocolatey installer unless guard is satisfied to allow the install to retry on subsequent attempts if it fails.
|
||||
|
||||
## v1.0.0 (2016-03-07)
|
||||
|
||||
- No longer dependent on chocolatey.org for install script
|
||||
- Removed deprecated overwriting of the current_resource and fixed visibility problem with `env_path`
|
||||
|
||||
## v0.6.2 (2016-01-07)
|
||||
|
||||
- Fix Chocolatey detection on chef clients older than 12.4.0
|
||||
|
||||
## v0.6.1 (2015-11-24)
|
||||
|
||||
- Fix LocalJumpError on existing chocolatey package
|
||||
|
||||
## v0.6.0 (2015-11-17)
|
||||
|
||||
- Path Tracking. Tracking additions to the user and machine %PATH% environment and merging them into the current process.
|
||||
- Downcase package name results from choco upgrade.
|
||||
|
||||
## v0.5.1 (2015-11-10)
|
||||
|
||||
- Prepend library include with :: in provder to fix 12.3.0 and likely other versions older than 12.5.1.
|
||||
- Add backward compatibiliy to new metadata.rb attributes `source_url` and `issues_url`.
|
||||
|
||||
## v0.5.0 (2015-11-09)
|
||||
|
||||
- Refactored install script (and .kitchen.yml) to support installing Chocolatey in test-kitchen behind a proxy.
|
||||
- Download `node['chocolatey']['Uri']` via `remote_file` resource instead of .net web client
|
||||
- Set `chocolateyProxyLocation` environment variable to `Chef::Config['https_proxy']` if one is set before chocolatey install
|
||||
- Changed helpers module namespacing from: `ChocolateyHelpers` to `Chocolatey::Helpers`
|
||||
- Add ChefSpec unit tests
|
||||
- Add ServerSpec integration tests
|
||||
- Gemfile: bump foodcritic to 5.0 and Berkshelf to 4.0
|
||||
- Add ChefSpec matchers
|
||||
|
||||
## v0.4.1 (2015-10-15)
|
||||
|
||||
- Adds example how to install package with version
|
||||
- use the vanilla script resource to bypass 64bit interpreter builder introduced in Chef 12.5
|
||||
|
||||
## v0.4.0 (2015-06-30)
|
||||
|
||||
- Refactor script to download Chocolatey install script
|
||||
- Chocolatey install: add proxy support
|
||||
- fix for 64-bit chocolatey installs
|
||||
|
||||
## v0.3.0 (2015-04-20)
|
||||
|
||||
- Support for chocolatey >= 0.9.9
|
||||
- Make package name case insensitive
|
||||
|
||||
## v0.2.0 (2014-09-24)
|
||||
|
||||
- Allow spaces in the path to the "choco" command.
|
||||
- Update tests to use Rakefile
|
||||
- Support Chocolatey version 0.9.8.24+
|
||||
- Support custom command line options when installing packages
|
||||
|
||||
## v0.1.0 (2014-02-20)
|
||||
|
||||
- Fix and tests
|
||||
|
||||
## v0.0.5 (2013-04-30)
|
||||
|
||||
- Initial release
|
|
@ -0,0 +1,46 @@
|
|||
# chocolatey Cookbook
|
||||
|
||||
[![Cookbook Version](https://img.shields.io/cookbook/v/chocolatey.svg)](https://supermarket.getchef.com/cookbooks/chocolatey) ![delivery](https://github.com/chocolatey-community/chocolatey-cookbook/workflows/delivery/badge.svg)
|
||||
|
||||
Install Chocolatey with the default recipe.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Platform
|
||||
|
||||
- Windows
|
||||
|
||||
### Chef Infra Client
|
||||
|
||||
- 12.15 or greater
|
||||
|
||||
## Notes
|
||||
|
||||
As of Chocolatey version [0.9.8.24](https://github.com/chocolatey/chocolatey/blob/master/CHANGELOG.md#09824-july-3-2014) the install directory for Chocolatey has changed from `C:\Chocolatey` to `C:\ProgramData\Chocolatey`.
|
||||
|
||||
More information can be gotten from the [Chocolateywiki](https://github.com/chocolatey/chocolatey/wiki/DefaultChocolateyInstallReasoning).
|
||||
|
||||
## Attributes
|
||||
|
||||
All attributes below are pre-pended with `node['chocolatey']`
|
||||
|
||||
Attribute | Description | Type | Default
|
||||
---------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------
|
||||
`['upgrade']` | Whether to upgrade Chocolatey if it's already installed | Boolean | false
|
||||
`['install_vars']['chocolateyProxyLocation']` | HTTPS proxy for Chocolatey install script | String | Chef::Config['https_proxy'] or ENV['https_proxy']
|
||||
`['install_vars']['chocolateyProxyUser']` | Proxy user for authenticating proxies | String | nil
|
||||
`['install_vars']['chocolateyProxyPassword']` | Proxy user password | String | nil
|
||||
`['install_vars']['chocolateyVersion']` | Version of Chocolatey to install, e.g. '0.9.9.11' | String | nil (download latest version)
|
||||
`['install_vars']['chocolateyDownloadUrl']` | Chocolatey .nupkg file URL. Use this if you host an internal copy of the chocolatey.nupkg | String | <https://chocolatey.org/api/v2/package/chocolatey> (download from chocolatey.org)
|
||||
`['install_vars']['chocolateyUseWindowsCompression']`| To use built-in compression instead of 7zip (requires additional download) set to `true` | String | nil (use 7zip)
|
||||
`['sensitive']` | When true, will suppress writing the contents of install.ps1 to the console | Boolean | false
|
||||
|
||||
## Recipes
|
||||
|
||||
- `chocolatey::default` - installs Chocolatey
|
||||
|
||||
## License and Maintainer
|
||||
|
||||
Maintainer:: Guilhem Lettron ([guilhem@lettron.fr](mailto:guilhem@lettron.fr))
|
||||
|
||||
License:: Apache 2.0
|
|
@ -0,0 +1,12 @@
|
|||
default['chocolatey']['upgrade'] = false
|
||||
default['chocolatey']['sensitive'] = false
|
||||
|
||||
# Chocolatey install.ps1 env vars. See https://chocolatey.org/install.ps1
|
||||
default['chocolatey']['install_vars'].tap do |env|
|
||||
env['chocolateyProxyLocation'] = Chef::Config['https_proxy'] || ENV['https_proxy']
|
||||
env['chocolateyProxyUser'] = nil
|
||||
env['chocolateyProxyPassword'] = nil
|
||||
env['chocolateyVersion'] = nil
|
||||
env['chocolateyDownloadUrl'] = 'https://chocolatey.org/api/v2/package/chocolatey'
|
||||
env['chocolateyUseWindowsCompression'] = nil
|
||||
end
|
|
@ -0,0 +1,421 @@
|
|||
# =====================================================================
|
||||
# Copyright 2017 - 2020 Chocolatey Software, Inc, and the
|
||||
# original authors/contributors from ChocolateyGallery
|
||||
# Copyright 2011 - 2017 RealDimensions Software, LLC, and the
|
||||
# original authors/contributors from ChocolateyGallery
|
||||
# at https://github.com/chocolatey/chocolatey.org
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# =====================================================================
|
||||
|
||||
# For organizational deployments of Chocolatey, please see https://chocolatey.org/docs/how-to-setup-offline-installation
|
||||
|
||||
# Environment Variables, specified as $env:NAME in PowerShell.exe and %NAME% in cmd.exe.
|
||||
# For explicit proxy, please set $env:chocolateyProxyLocation and optionally $env:chocolateyProxyUser and $env:chocolateyProxyPassword
|
||||
# For an explicit version of Chocolatey, please set $env:chocolateyVersion = 'versionnumber'
|
||||
# To target a different url for chocolatey.nupkg, please set $env:chocolateyDownloadUrl = 'full url to nupkg file'
|
||||
# NOTE: $env:chocolateyDownloadUrl does not work with $env:chocolateyVersion.
|
||||
# To use built-in compression instead of 7zip (requires additional download), please set $env:chocolateyUseWindowsCompression = 'true'
|
||||
# To bypass the use of any proxy, please set $env:chocolateyIgnoreProxy = 'true'
|
||||
|
||||
#specifically use the API to get the latest version (below)
|
||||
$url = ''
|
||||
|
||||
$chocolateyVersion = $env:chocolateyVersion
|
||||
if (![string]::IsNullOrEmpty($chocolateyVersion)){
|
||||
Write-Output "Downloading specific version of Chocolatey: $chocolateyVersion"
|
||||
$url = "https://chocolatey.org/api/v2/package/chocolatey/$chocolateyVersion"
|
||||
}
|
||||
|
||||
$chocolateyDownloadUrl = $env:chocolateyDownloadUrl
|
||||
if (![string]::IsNullOrEmpty($chocolateyDownloadUrl)){
|
||||
Write-Output "Downloading Chocolatey from : $chocolateyDownloadUrl"
|
||||
$url = "$chocolateyDownloadUrl"
|
||||
}
|
||||
|
||||
if ($env:TEMP -eq $null) {
|
||||
$env:TEMP = Join-Path $env:SystemDrive 'temp'
|
||||
}
|
||||
$chocTempDir = Join-Path $env:TEMP "chocolatey"
|
||||
$tempDir = Join-Path $chocTempDir "chocInstall"
|
||||
if (![System.IO.Directory]::Exists($tempDir)) {[void][System.IO.Directory]::CreateDirectory($tempDir)}
|
||||
$file = Join-Path $tempDir "chocolatey.zip"
|
||||
|
||||
# PowerShell v2/3 caches the output stream. Then it throws errors due
|
||||
# to the FileStream not being what is expected. Fixes "The OS handle's
|
||||
# position is not what FileStream expected. Do not use a handle
|
||||
# simultaneously in one FileStream and in Win32 code or another
|
||||
# FileStream."
|
||||
function Fix-PowerShellOutputRedirectionBug {
|
||||
$poshMajorVerion = $PSVersionTable.PSVersion.Major
|
||||
|
||||
if ($poshMajorVerion -lt 4) {
|
||||
try{
|
||||
# http://www.leeholmes.com/blog/2008/07/30/workaround-the-os-handles-position-is-not-what-filestream-expected/ plus comments
|
||||
$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetField"
|
||||
$objectRef = $host.GetType().GetField("externalHostRef", $bindingFlags).GetValue($host)
|
||||
$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetProperty"
|
||||
$consoleHost = $objectRef.GetType().GetProperty("Value", $bindingFlags).GetValue($objectRef, @())
|
||||
[void] $consoleHost.GetType().GetProperty("IsStandardOutputRedirected", $bindingFlags).GetValue($consoleHost, @())
|
||||
$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetField"
|
||||
$field = $consoleHost.GetType().GetField("standardOutputWriter", $bindingFlags)
|
||||
$field.SetValue($consoleHost, [Console]::Out)
|
||||
[void] $consoleHost.GetType().GetProperty("IsStandardErrorRedirected", $bindingFlags).GetValue($consoleHost, @())
|
||||
$field2 = $consoleHost.GetType().GetField("standardErrorWriter", $bindingFlags)
|
||||
$field2.SetValue($consoleHost, [Console]::Error)
|
||||
} catch {
|
||||
Write-Output "Unable to apply redirection fix."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Fix-PowerShellOutputRedirectionBug
|
||||
|
||||
# Attempt to set highest encryption available for SecurityProtocol.
|
||||
# PowerShell will not set this by default (until maybe .NET 4.6.x). This
|
||||
# will typically produce a message for PowerShell v2 (just an info
|
||||
# message though)
|
||||
try {
|
||||
# Set TLS 1.2 (3072) as that is the minimum required by Chocolatey.org.
|
||||
# Use integers because the enumeration value for TLS 1.2 won't exist
|
||||
# in .NET 4.0, even though they are addressable if .NET 4.5+ is
|
||||
# installed (.NET 4.5 is an in-place upgrade).
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
} catch {
|
||||
Write-Output 'Unable to set PowerShell to use TLS 1.2. This is required for contacting Chocolatey as of 03 FEB 2020. https://chocolatey.org/blog/remove-support-for-old-tls-versions. If you see underlying connection closed or trust errors, you may need to do one or more of the following: (1) upgrade to .NET Framework 4.5+ and PowerShell v3+, (2) Call [System.Net.ServicePointManager]::SecurityProtocol = 3072; in PowerShell prior to attempting installation, (3) specify internal Chocolatey package location (set $env:chocolateyDownloadUrl prior to install or host the package internally), (4) use the Download + PowerShell method of install. See https://chocolatey.org/docs/installation for all install options.'
|
||||
}
|
||||
|
||||
function Get-Downloader {
|
||||
param (
|
||||
[string]$url
|
||||
)
|
||||
|
||||
$downloader = new-object System.Net.WebClient
|
||||
|
||||
$defaultCreds = [System.Net.CredentialCache]::DefaultCredentials
|
||||
if ($defaultCreds -ne $null) {
|
||||
$downloader.Credentials = $defaultCreds
|
||||
}
|
||||
|
||||
$ignoreProxy = $env:chocolateyIgnoreProxy
|
||||
if ($ignoreProxy -ne $null -and $ignoreProxy -eq 'true') {
|
||||
Write-Debug "Explicitly bypassing proxy due to user environment variable"
|
||||
$downloader.Proxy = [System.Net.GlobalProxySelection]::GetEmptyWebProxy()
|
||||
} else {
|
||||
# check if a proxy is required
|
||||
$explicitProxy = $env:chocolateyProxyLocation
|
||||
$explicitProxyUser = $env:chocolateyProxyUser
|
||||
$explicitProxyPassword = $env:chocolateyProxyPassword
|
||||
if ($explicitProxy -ne $null -and $explicitProxy -ne '') {
|
||||
# explicit proxy
|
||||
$proxy = New-Object System.Net.WebProxy($explicitProxy, $true)
|
||||
if ($explicitProxyPassword -ne $null -and $explicitProxyPassword -ne '') {
|
||||
$passwd = ConvertTo-SecureString $explicitProxyPassword -AsPlainText -Force
|
||||
$proxy.Credentials = New-Object System.Management.Automation.PSCredential ($explicitProxyUser, $passwd)
|
||||
}
|
||||
|
||||
Write-Debug "Using explicit proxy server '$explicitProxy'."
|
||||
$downloader.Proxy = $proxy
|
||||
|
||||
} elseif (!$downloader.Proxy.IsBypassed($url)) {
|
||||
# system proxy (pass through)
|
||||
$creds = $defaultCreds
|
||||
if ($creds -eq $null) {
|
||||
Write-Debug "Default credentials were null. Attempting backup method"
|
||||
$cred = get-credential
|
||||
$creds = $cred.GetNetworkCredential();
|
||||
}
|
||||
|
||||
$proxyaddress = $downloader.Proxy.GetProxy($url).Authority
|
||||
Write-Debug "Using system proxy server '$proxyaddress'."
|
||||
$proxy = New-Object System.Net.WebProxy($proxyaddress)
|
||||
$proxy.Credentials = $creds
|
||||
$downloader.Proxy = $proxy
|
||||
}
|
||||
}
|
||||
|
||||
return $downloader
|
||||
}
|
||||
|
||||
function Download-String {
|
||||
param (
|
||||
[string]$url
|
||||
)
|
||||
$downloader = Get-Downloader $url
|
||||
|
||||
return $downloader.DownloadString($url)
|
||||
}
|
||||
|
||||
function Download-File {
|
||||
param (
|
||||
[string]$url,
|
||||
[string]$file
|
||||
)
|
||||
#Write-Output "Downloading $url to $file"
|
||||
$downloader = Get-Downloader $url
|
||||
|
||||
$downloader.DownloadFile($url, $file)
|
||||
}
|
||||
|
||||
if ($url -eq $null -or $url -eq '') {
|
||||
Write-Output "Getting latest version of the Chocolatey package for download."
|
||||
$url = 'https://chocolatey.org/api/v2/Packages()?$filter=((Id%20eq%20%27chocolatey%27)%20and%20(not%20IsPrerelease))%20and%20IsLatestVersion'
|
||||
[xml]$result = Download-String $url
|
||||
$url = $result.feed.entry.content.src
|
||||
}
|
||||
|
||||
# Download the Chocolatey package
|
||||
Write-Output "Getting Chocolatey from $url."
|
||||
Download-File $url $file
|
||||
|
||||
# Determine unzipping method
|
||||
# 7zip is the most compatible so use it by default
|
||||
$7zaExe = Join-Path $tempDir '7za.exe'
|
||||
$unzipMethod = '7zip'
|
||||
$useWindowsCompression = $env:chocolateyUseWindowsCompression
|
||||
if ($useWindowsCompression -ne $null -and $useWindowsCompression -eq 'true') {
|
||||
Write-Output 'Using built-in compression to unzip'
|
||||
$unzipMethod = 'builtin'
|
||||
} elseif (-Not (Test-Path ($7zaExe))) {
|
||||
Write-Output "Downloading 7-Zip commandline tool prior to extraction."
|
||||
# download 7zip
|
||||
Download-File 'https://chocolatey.org/7za.exe' "$7zaExe"
|
||||
}
|
||||
|
||||
# unzip the package
|
||||
Write-Output "Extracting $file to $tempDir..."
|
||||
if ($unzipMethod -eq '7zip') {
|
||||
$params = "x -o`"$tempDir`" -bd -y `"$file`""
|
||||
# use more robust Process as compared to Start-Process -Wait (which doesn't
|
||||
# wait for the process to finish in PowerShell v3)
|
||||
$process = New-Object System.Diagnostics.Process
|
||||
$process.StartInfo = New-Object System.Diagnostics.ProcessStartInfo($7zaExe, $params)
|
||||
$process.StartInfo.RedirectStandardOutput = $true
|
||||
$process.StartInfo.UseShellExecute = $false
|
||||
$process.StartInfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::Hidden
|
||||
$process.Start() | Out-Null
|
||||
$process.BeginOutputReadLine()
|
||||
$process.WaitForExit()
|
||||
$exitCode = $process.ExitCode
|
||||
$process.Dispose()
|
||||
|
||||
$errorMessage = "Unable to unzip package using 7zip. Perhaps try setting `$env:chocolateyUseWindowsCompression = 'true' and call install again. Error:"
|
||||
switch ($exitCode) {
|
||||
0 { break }
|
||||
1 { throw "$errorMessage Some files could not be extracted" }
|
||||
2 { throw "$errorMessage 7-Zip encountered a fatal error while extracting the files" }
|
||||
7 { throw "$errorMessage 7-Zip command line error" }
|
||||
8 { throw "$errorMessage 7-Zip out of memory" }
|
||||
255 { throw "$errorMessage Extraction cancelled by the user" }
|
||||
default { throw "$errorMessage 7-Zip signalled an unknown error (code $exitCode)" }
|
||||
}
|
||||
} else {
|
||||
if ($PSVersionTable.PSVersion.Major -lt 5) {
|
||||
try {
|
||||
$shellApplication = new-object -com shell.application
|
||||
$zipPackage = $shellApplication.NameSpace($file)
|
||||
$destinationFolder = $shellApplication.NameSpace($tempDir)
|
||||
$destinationFolder.CopyHere($zipPackage.Items(),0x10)
|
||||
} catch {
|
||||
throw "Unable to unzip package using built-in compression. Set `$env:chocolateyUseWindowsCompression = 'false' and call install again to use 7zip to unzip. Error: `n $_"
|
||||
}
|
||||
} else {
|
||||
Expand-Archive -Path "$file" -DestinationPath "$tempDir" -Force
|
||||
}
|
||||
}
|
||||
|
||||
# Call chocolatey install
|
||||
Write-Output "Installing chocolatey on this machine"
|
||||
$toolsFolder = Join-Path $tempDir "tools"
|
||||
$chocInstallPS1 = Join-Path $toolsFolder "chocolateyInstall.ps1"
|
||||
|
||||
& $chocInstallPS1
|
||||
|
||||
Write-Output 'Ensuring chocolatey commands are on the path'
|
||||
$chocInstallVariableName = "ChocolateyInstall"
|
||||
$chocoPath = [Environment]::GetEnvironmentVariable($chocInstallVariableName)
|
||||
if ($chocoPath -eq $null -or $chocoPath -eq '') {
|
||||
$chocoPath = "$env:ALLUSERSPROFILE\Chocolatey"
|
||||
}
|
||||
|
||||
if (!(Test-Path ($chocoPath))) {
|
||||
$chocoPath = "$env:SYSTEMDRIVE\ProgramData\Chocolatey"
|
||||
}
|
||||
|
||||
$chocoExePath = Join-Path $chocoPath 'bin'
|
||||
|
||||
if ($($env:Path).ToLower().Contains($($chocoExePath).ToLower()) -eq $false) {
|
||||
$env:Path = [Environment]::GetEnvironmentVariable('Path',[System.EnvironmentVariableTarget]::Machine);
|
||||
}
|
||||
|
||||
Write-Output 'Ensuring chocolatey.nupkg is in the lib folder'
|
||||
$chocoPkgDir = Join-Path $chocoPath 'lib\chocolatey'
|
||||
$nupkg = Join-Path $chocoPkgDir 'chocolatey.nupkg'
|
||||
if (![System.IO.Directory]::Exists($chocoPkgDir)) { [System.IO.Directory]::CreateDirectory($chocoPkgDir); }
|
||||
Copy-Item "$file" "$nupkg" -Force -ErrorAction SilentlyContinue
|
||||
|
||||
# SIG # Begin signature block
|
||||
# MIIcpwYJKoZIhvcNAQcCoIIcmDCCHJQCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDNxwdauklvXMYd
|
||||
# R6F324woy4ZDT1pBVoUMp0tAZ0LTVKCCF7EwggUwMIIEGKADAgECAhAECRgbX9W7
|
||||
# ZnVTQ7VvlVAIMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
||||
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
|
||||
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xMzEwMjIxMjAwMDBa
|
||||
# Fw0yODEwMjIxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
|
||||
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lD
|
||||
# ZXJ0IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3
|
||||
# DQEBAQUAA4IBDwAwggEKAoIBAQD407Mcfw4Rr2d3B9MLMUkZz9D7RZmxOttE9X/l
|
||||
# qJ3bMtdx6nadBS63j/qSQ8Cl+YnUNxnXtqrwnIal2CWsDnkoOn7p0WfTxvspJ8fT
|
||||
# eyOU5JEjlpB3gvmhhCNmElQzUHSxKCa7JGnCwlLyFGeKiUXULaGj6YgsIJWuHEqH
|
||||
# CN8M9eJNYBi+qsSyrnAxZjNxPqxwoqvOf+l8y5Kh5TsxHM/q8grkV7tKtel05iv+
|
||||
# bMt+dDk2DZDv5LVOpKnqagqrhPOsZ061xPeM0SAlI+sIZD5SlsHyDxL0xY4PwaLo
|
||||
# LFH3c7y9hbFig3NBggfkOItqcyDQD2RzPJ6fpjOp/RnfJZPRAgMBAAGjggHNMIIB
|
||||
# yTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAK
|
||||
# BggrBgEFBQcDAzB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
|
||||
# Y3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGln
|
||||
# aWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDCBgQYDVR0fBHow
|
||||
# eDA6oDigNoY0aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJl
|
||||
# ZElEUm9vdENBLmNybDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
|
||||
# Z2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDBPBgNVHSAESDBGMDgGCmCGSAGG/WwA
|
||||
# AgQwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAK
|
||||
# BghghkgBhv1sAzAdBgNVHQ4EFgQUWsS5eyoKo6XqcQPAYPkt9mV1DlgwHwYDVR0j
|
||||
# BBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wDQYJKoZIhvcNAQELBQADggEBAD7s
|
||||
# DVoks/Mi0RXILHwlKXaoHV0cLToaxO8wYdd+C2D9wz0PxK+L/e8q3yBVN7Dh9tGS
|
||||
# dQ9RtG6ljlriXiSBThCk7j9xjmMOE0ut119EefM2FAaK95xGTlz/kLEbBw6RFfu6
|
||||
# r7VRwo0kriTGxycqoSkoGjpxKAI8LpGjwCUR4pwUR6F6aGivm6dcIFzZcbEMj7uo
|
||||
# +MUSaJ/PQMtARKUT8OZkDCUIQjKyNookAv4vcn4c10lFluhZHen6dGRrsutmQ9qz
|
||||
# sIzV6Q3d9gEgzpkxYz0IGhizgZtPxpMQBvwHgfqL2vmCSfdibqFT+hKUGIUukpHq
|
||||
# aGxEMrJmoecYpJpkUe8wggU6MIIEIqADAgECAhAH+0XZ9wtVKQNgl7T04UNwMA0G
|
||||
# CSqGSIb3DQEBCwUAMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
|
||||
# bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0
|
||||
# IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwHhcNMTgwMzMwMDAwMDAw
|
||||
# WhcNMjEwNDE0MTIwMDAwWjB3MQswCQYDVQQGEwJVUzEPMA0GA1UECBMGS2Fuc2Fz
|
||||
# MQ8wDQYDVQQHEwZUb3Bla2ExIjAgBgNVBAoTGUNob2NvbGF0ZXkgU29mdHdhcmUs
|
||||
# IEluYy4xIjAgBgNVBAMTGUNob2NvbGF0ZXkgU29mdHdhcmUsIEluYy4wggEiMA0G
|
||||
# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4irdLWVJryfKSgPPCyMN+nBmxtZIm
|
||||
# mTBhJMaYVJ6gtfvHcFakH7IC8TcjcEIrkK7wB/2vEJkEqiOTgbVQPZLnfX8ZAxhd
|
||||
# UiJmwQHEiSwLzoo2B35ROQ9qdOsn1bYIEzDpaqm/XwYH925LLpxhr9oCkBNf5dZs
|
||||
# e5bc/s1J5sQ9HRYwpb3MimmNHGpNP/YhjXX/kNFCZIv3mUadFHi+talYIN5dp6ai
|
||||
# /k+qgZeL5klPdmjyIgf3JiDywCf7j5nSbm3sWarYjM5vLe/oD+eK70fez30a17Cy
|
||||
# 97Jtqmdz6WUV1BcbMWeb9b8x369UJq5vt7vGwVFDOeGjwffuVHLRvWLnAgMBAAGj
|
||||
# ggHFMIIBwTAfBgNVHSMEGDAWgBRaxLl7KgqjpepxA8Bg+S32ZXUOWDAdBgNVHQ4E
|
||||
# FgQUqRlYCMLOvsDUS4mx9UA1avD3fvgwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQM
|
||||
# MAoGCCsGAQUFBwMDMHcGA1UdHwRwMG4wNaAzoDGGL2h0dHA6Ly9jcmwzLmRpZ2lj
|
||||
# ZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMDWgM6Axhi9odHRwOi8vY3Js
|
||||
# NC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNzLWcxLmNybDBMBgNVHSAERTBD
|
||||
# MDcGCWCGSAGG/WwDATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2Vy
|
||||
# dC5jb20vQ1BTMAgGBmeBDAEEATCBhAYIKwYBBQUHAQEEeDB2MCQGCCsGAQUFBzAB
|
||||
# hhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wTgYIKwYBBQUHMAKGQmh0dHA6Ly9j
|
||||
# YWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJBc3N1cmVkSURDb2RlU2ln
|
||||
# bmluZ0NBLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQA+ddcs
|
||||
# z/NB/+V+AIlUNOVTlGDNCtn1AfvwoRZg9XMmx0/S0EKayfVFTk/x96WMQgxL+/5x
|
||||
# B8Uhw6anlhbPC6bjBcIxRj/IUgR7yJ/NAykyM1x+pWvkPZV3slwe0GDPwhaqGUTU
|
||||
# aG8njO4EvA682a1o7wqQFR1MIltjtuPB2gp311LLxP1k5dpUMgaA0lAfnbRr+5dc
|
||||
# QOFWslkho1eBf0xlzSrhRGPy0e/IYWpl+/sEwXhD88QUkN7dSXY0fMlyGQfn6H4f
|
||||
# ozBQvCk37eoE0uAtkUrWAlJxO/4Esi83ko4hokwQJHaN64/7NdNaKlG3shC9+2QM
|
||||
# kY3j3BU+Ym2GZgtBMIIGajCCBVKgAwIBAgIQAwGaAjr/WLFr1tXq5hfwZjANBgkq
|
||||
# hkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5j
|
||||
# MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBB
|
||||
# c3N1cmVkIElEIENBLTEwHhcNMTQxMDIyMDAwMDAwWhcNMjQxMDIyMDAwMDAwWjBH
|
||||
# MQswCQYDVQQGEwJVUzERMA8GA1UEChMIRGlnaUNlcnQxJTAjBgNVBAMTHERpZ2lD
|
||||
# ZXJ0IFRpbWVzdGFtcCBSZXNwb25kZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
||||
# ggEKAoIBAQCjZF38fLPggjXg4PbGKuZJdTvMbuBTqZ8fZFnmfGt/a4ydVfiS457V
|
||||
# WmNbAklQ2YPOb2bu3cuF6V+l+dSHdIhEOxnJ5fWRn8YUOawk6qhLLJGJzF4o9GS2
|
||||
# ULf1ErNzlgpno75hn67z/RJ4dQ6mWxT9RSOOhkRVfRiGBYxVh3lIRvfKDo2n3k5f
|
||||
# 4qi2LVkCYYhhchhoubh87ubnNC8xd4EwH7s2AY3vJ+P3mvBMMWSN4+v6GYeofs/s
|
||||
# jAw2W3rBerh4x8kGLkYQyI3oBGDbvHN0+k7Y/qpA8bLOcEaD6dpAoVk62RUJV5lW
|
||||
# MJPzyWHM0AjMa+xiQpGsAsDvpPCJEY93AgMBAAGjggM1MIIDMTAOBgNVHQ8BAf8E
|
||||
# BAMCB4AwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDCCAb8G
|
||||
# A1UdIASCAbYwggGyMIIBoQYJYIZIAYb9bAcBMIIBkjAoBggrBgEFBQcCARYcaHR0
|
||||
# cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzCCAWQGCCsGAQUFBwICMIIBVh6CAVIA
|
||||
# QQBuAHkAIAB1AHMAZQAgAG8AZgAgAHQAaABpAHMAIABDAGUAcgB0AGkAZgBpAGMA
|
||||
# YQB0AGUAIABjAG8AbgBzAHQAaQB0AHUAdABlAHMAIABhAGMAYwBlAHAAdABhAG4A
|
||||
# YwBlACAAbwBmACAAdABoAGUAIABEAGkAZwBpAEMAZQByAHQAIABDAFAALwBDAFAA
|
||||
# UwAgAGEAbgBkACAAdABoAGUAIABSAGUAbAB5AGkAbgBnACAAUABhAHIAdAB5ACAA
|
||||
# QQBnAHIAZQBlAG0AZQBuAHQAIAB3AGgAaQBjAGgAIABsAGkAbQBpAHQAIABsAGkA
|
||||
# YQBiAGkAbABpAHQAeQAgAGEAbgBkACAAYQByAGUAIABpAG4AYwBvAHIAcABvAHIA
|
||||
# YQB0AGUAZAAgAGgAZQByAGUAaQBuACAAYgB5ACAAcgBlAGYAZQByAGUAbgBjAGUA
|
||||
# LjALBglghkgBhv1sAxUwHwYDVR0jBBgwFoAUFQASKxOYspkH7R7for5XDStnAs0w
|
||||
# HQYDVR0OBBYEFGFaTSS2STKdSip5GoNL9B6Jwcp9MH0GA1UdHwR2MHQwOKA2oDSG
|
||||
# Mmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRENBLTEu
|
||||
# Y3JsMDigNqA0hjJodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1
|
||||
# cmVkSURDQS0xLmNybDB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6
|
||||
# Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMu
|
||||
# ZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEQ0EtMS5jcnQwDQYJKoZIhvcN
|
||||
# AQEFBQADggEBAJ0lfhszTbImgVybhs4jIA+Ah+WI//+x1GosMe06FxlxF82pG7xa
|
||||
# FjkAneNshORaQPveBgGMN/qbsZ0kfv4gpFetW7easGAm6mlXIV00Lx9xsIOUGQVr
|
||||
# NZAQoHuXx/Y/5+IRQaa9YtnwJz04HShvOlIJ8OxwYtNiS7Dgc6aSwNOOMdgv420X
|
||||
# Ewbu5AO2FKvzj0OncZ0h3RTKFV2SQdr5D4HRmXQNJsQOfxu19aDxxncGKBXp2JPl
|
||||
# VRbwuwqrHNtcSCdmyKOLChzlldquxC5ZoGHd2vNtomHpigtt7BIYvfdVVEADkitr
|
||||
# wlHCCkivsNRu4PQUCjob4489yq9qjXvc2EQwggbNMIIFtaADAgECAhAG/fkDlgOt
|
||||
# 6gAK6z8nu7obMA0GCSqGSIb3DQEBBQUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
||||
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
|
||||
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBa
|
||||
# Fw0yMTExMTAwMDAwMDBaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
|
||||
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
|
||||
# ZXJ0IEFzc3VyZWQgSUQgQ0EtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
||||
# ggEBAOiCLZn5ysJClaWAc0Bw0p5WVFypxNJBBo/JM/xNRZFcgZ/tLJz4FlnfnrUk
|
||||
# FcKYubR3SdyJxArar8tea+2tsHEx6886QAxGTZPsi3o2CAOrDDT+GEmC/sfHMUiA
|
||||
# fB6iD5IOUMnGh+s2P9gww/+m9/uizW9zI/6sVgWQ8DIhFonGcIj5BZd9o8dD3QLo
|
||||
# Oz3tsUGj7T++25VIxO4es/K8DCuZ0MZdEkKB4YNugnM/JksUkK5ZZgrEjb7Szgau
|
||||
# rYRvSISbT0C58Uzyr5j79s5AXVz2qPEvr+yJIvJrGGWxwXOt1/HYzx4KdFxCuGh+
|
||||
# t9V3CidWfA9ipD8yFGCV/QcEogkCAwEAAaOCA3owggN2MA4GA1UdDwEB/wQEAwIB
|
||||
# hjA7BgNVHSUENDAyBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEF
|
||||
# BQcDBAYIKwYBBQUHAwgwggHSBgNVHSAEggHJMIIBxTCCAbQGCmCGSAGG/WwAAQQw
|
||||
# ggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9zc2wtY3Bz
|
||||
# LXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUHAgIwggFWHoIBUgBBAG4AeQAgAHUA
|
||||
# cwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQByAHQAaQBmAGkAYwBhAHQAZQAgAGMA
|
||||
# bwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBjAGUAcAB0AGEAbgBjAGUAIABvAGYA
|
||||
# IAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAgAEMAUAAvAEMAUABTACAAYQBuAGQA
|
||||
# IAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQAGEAcgB0AHkAIABBAGcAcgBlAGUA
|
||||
# bQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBtAGkAdAAgAGwAaQBhAGIAaQBsAGkA
|
||||
# dAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBjAG8AcgBwAG8AcgBhAHQAZQBkACAA
|
||||
# aABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBlAHIAZQBuAGMAZQAuMAsGCWCGSAGG
|
||||
# /WwDFTASBgNVHRMBAf8ECDAGAQH/AgEAMHkGCCsGAQUFBwEBBG0wazAkBggrBgEF
|
||||
# BQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAChjdodHRw
|
||||
# Oi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0Eu
|
||||
# Y3J0MIGBBgNVHR8EejB4MDqgOKA2hjRodHRwOi8vY3JsMy5kaWdpY2VydC5jb20v
|
||||
# RGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsMDqgOKA2hjRodHRwOi8vY3JsNC5k
|
||||
# aWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsMB0GA1UdDgQW
|
||||
# BBQVABIrE5iymQftHt+ivlcNK2cCzTAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
||||
# pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEARlA+ybcoJKc4HbZbKa9Sz1LpMUer
|
||||
# Vlx71Q0LQbPv7HUfdDjyslxhopyVw1Dkgrkj0bo6hnKtOHisdV0XFzRyR4WUVtHr
|
||||
# uzaEd8wkpfMEGVWp5+Pnq2LN+4stkMLA0rWUvV5PsQXSDj0aqRRbpoYxYqioM+Sb
|
||||
# OafE9c4deHaUJXPkKqvPnHZL7V/CSxbkS3BMAIke/MV5vEwSV/5f4R68Al2o/vsH
|
||||
# OE8Nxl2RuQ9nRc3Wg+3nkg2NsWmMT/tZ4CMP0qquAHzunEIOz5HXJ7cW7g/DvXwK
|
||||
# oO4sCFWFIrjrGBpN/CohrUkxg0eVd3HcsRtLSxwQnHcUwZ1PL1qVCCkQJjGCBEww
|
||||
# ggRIAgEBMIGGMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx
|
||||
# GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNI
|
||||
# QTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0ECEAf7Rdn3C1UpA2CXtPThQ3Aw
|
||||
# DQYJYIZIAWUDBAIBBQCggYQwGAYKKwYBBAGCNwIBDDEKMAigAoAAoQKAADAZBgkq
|
||||
# hkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGC
|
||||
# NwIBFTAvBgkqhkiG9w0BCQQxIgQgVOMYjIaBHu7LkOhlbFNa1FFBBUFQu8BKOfZZ
|
||||
# AK2CtCUwDQYJKoZIhvcNAQEBBQAEggEAccxIsQDitasvwWmCy+JQLBU4qNfShPld
|
||||
# fVFg7Dte5/KpHMEd6rgw0ECoN1H8nabSf3dVMPDWGTdXzYVc+zB5Nmhlwy/9CGAs
|
||||
# XmIICX16xcwYb18miih52j/m5JXT4NhTIl/+e5mF4nyoJUJeBJwIUSDuV3rHyOpE
|
||||
# 90BGZXJPX2ItGbp1J//bMDECzkxRtSRDxNCQ8QlS0YBc2h+ftQFmlmb86N8XCqdB
|
||||
# 32paBD1OmhH7tVB9eXQRQ9rtNLbVUB790d/IGYkHU7zlVMwxpI7wYNqgdcV9bv5z
|
||||
# O9GaG8QaQXxxtIB/hH5m5wWvcberqJb2qr5Ke6U1mPV1T6G6TGdctKGCAg8wggIL
|
||||
# BgkqhkiG9w0BCQYxggH8MIIB+AIBATB2MGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
||||
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
|
||||
# BAMTGERpZ2lDZXJ0IEFzc3VyZWQgSUQgQ0EtMQIQAwGaAjr/WLFr1tXq5hfwZjAJ
|
||||
# BgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B
|
||||
# CQUxDxcNMjAwNDE2MDA1MDU0WjAjBgkqhkiG9w0BCQQxFgQUSnVQXFG9NidxPlpR
|
||||
# Zbf9t65cx2kwDQYJKoZIhvcNAQEBBQAEggEAlpX/WR+PI6eEsARfNpjEQAdcOOG6
|
||||
# Kp1TyXOaikIUh0BI7IjCiGRr7LbXQdkZIMcl3UD8TN+GQ59RsHSsYaAQJozUW9uo
|
||||
# pj3NaQJaKwHB15zHzcD1TMi18zCCPlebPmUTDsbICWBWangCST0zqU849+3tlx7E
|
||||
# LLjYjs/ybeS7aQffy1Dv87ElCYWsVuoQ0n9U/7hqJ3pv88SM52xmg9IlexfOanCz
|
||||
# tTAM+ke9OcXuPhoZJuDL3c8gaWxELpkokMoqX0UCgCgY4RTmJ44mC9GcYKSnpMQZ
|
||||
# qFot8MXA8t5cdxN2EL8j0ASufyE0oucys4cs+yiN65GWds7YbjYC/ihG6A==
|
||||
# SIG # End signature block
|
|
@ -0,0 +1,55 @@
|
|||
module Chocolatey
|
||||
module Helpers
|
||||
# include the PowershellOut module from the windows cookbook
|
||||
# in case we are running an older chef client
|
||||
include Chef::Mixin::PowershellOut
|
||||
|
||||
# Get the ChocolateyInstall directory from the environment.
|
||||
def chocolatey_install
|
||||
ENV.fetch('ChocolateyInstall') { |env_var| machine_env_var(env_var) }
|
||||
end
|
||||
|
||||
# The Chocolatey command.
|
||||
#
|
||||
# Reference: https://github.com/chocolatey/chocolatey-cookbook/pull/16#issuecomment-47975896
|
||||
def chocolatey_executable
|
||||
"\"#{::File.join(chocolatey_install, 'bin', 'choco')}\""
|
||||
end
|
||||
|
||||
def chocolatey_lib_dir
|
||||
File.join(chocolatey_install, 'lib', 'chocolatey')
|
||||
end
|
||||
|
||||
# Check if Chocolatey is installed
|
||||
def chocolatey_installed?
|
||||
return @is_chocolatey_installed if @is_chocolatey_installed
|
||||
return false if chocolatey_install.nil?
|
||||
# choco /? returns an exit status of -1 with chocolatey 0.9.9 => use list
|
||||
cmd = Mixlib::ShellOut.new("#{chocolatey_executable} list -l chocolatey")
|
||||
cmd.run_command
|
||||
@is_chocolatey_installed = cmd.exitstatus == 0
|
||||
end
|
||||
|
||||
# combine the local path with the user and machine paths
|
||||
def environment_path(local_path)
|
||||
machine = env_var('PATH', 'MACHINE').split(';')
|
||||
user = env_var('PATH', 'USER').split(';')
|
||||
local = local_path.split(';')
|
||||
combined = local.concat(machine).concat(user).uniq.compact
|
||||
combined.join(';')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def machine_env_var(env_var)
|
||||
env_var(env_var, 'MACHINE')
|
||||
end
|
||||
|
||||
def env_var(env_var, scope)
|
||||
env_var = powershell_out!(
|
||||
"[System.Environment]::GetEnvironmentVariable('#{env_var}', '#{scope}')"
|
||||
)
|
||||
env_var.stdout.chomp
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1 @@
|
|||
{"name":"chocolatey","version":"3.0.0","description":"Install Chocolatey on Windows","long_description":"","maintainer":"Guilhem Lettron","maintainer_email":"guilhem.lettron@youscribe.com","license":"Apache-2.0","platforms":{"windows":">= 0.0.0"},"dependencies":{},"recommendations":{},"suggestions":{},"conflicting":{},"providing":{},"replacing":{},"attributes":{},"groupings":{},"recipes":{},"source_url":"https://github.com/chocolatey/chocolatey-cookbook","issues_url":"https://github.com/chocolatey/chocolatey-cookbook/issues","chef_version":[[">= 12.15"]],"ohai_version":[]}
|
|
@ -0,0 +1,13 @@
|
|||
name 'chocolatey'
|
||||
maintainer 'Guilhem Lettron'
|
||||
maintainer_email 'guilhem.lettron@youscribe.com'
|
||||
license 'Apache-2.0'
|
||||
description 'Install Chocolatey on Windows'
|
||||
version '3.0.0'
|
||||
|
||||
source_url 'https://github.com/chocolatey/chocolatey-cookbook'
|
||||
issues_url 'https://github.com/chocolatey/chocolatey-cookbook/issues'
|
||||
|
||||
supports 'windows'
|
||||
|
||||
chef_version '>= 12.15'
|
|
@ -0,0 +1,48 @@
|
|||
#
|
||||
# Cookbook:: chocolatey
|
||||
# recipe:: default
|
||||
# Author:: Guilhem Lettron <guilhem.lettron@youscribe.com>
|
||||
#
|
||||
# Copyright:: 2012, Societe Publica.
|
||||
# Copyright:: 2015, Doug Ireton
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
unless platform_family?('windows')
|
||||
return "Chocolatey install not supported on #{node['platform_family']}"
|
||||
end
|
||||
|
||||
Chef::Resource.include Chocolatey::Helpers
|
||||
|
||||
install_ps1 = File.join(Chef::Config['file_cache_path'], 'chocolatey-install.ps1')
|
||||
|
||||
cookbook_file install_ps1 do
|
||||
action :create
|
||||
backup false
|
||||
source 'install.ps1'
|
||||
sensitive node['chocolatey']['sensitive']
|
||||
end
|
||||
|
||||
powershell_script 'Install Chocolatey' do
|
||||
environment node['chocolatey']['install_vars']
|
||||
cwd Chef::Config['file_cache_path']
|
||||
code install_ps1
|
||||
not_if { chocolatey_installed? }
|
||||
end
|
||||
|
||||
if node['chocolatey']['upgrade']
|
||||
chocolatey_package 'chocolatey' do
|
||||
action :upgrade
|
||||
version node['chocolatey']['install_vars']['chocolateyVersion']
|
||||
end
|
||||
end
|
|
@ -0,0 +1,202 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
# Put files/directories that should be ignored in this file when uploading
|
||||
# to a Chef Infra Server or Supermarket.
|
||||
# Lines that start with '# ' are comments.
|
||||
|
||||
# OS generated files #
|
||||
######################
|
||||
.DS_Store
|
||||
ehthumbs.db
|
||||
Icon?
|
||||
nohup.out
|
||||
Thumbs.db
|
||||
.envrc
|
||||
|
||||
# EDITORS #
|
||||
###########
|
||||
.#*
|
||||
.project
|
||||
.settings
|
||||
*_flymake
|
||||
*_flymake.*
|
||||
*.bak
|
||||
*.sw[a-z]
|
||||
*.tmproj
|
||||
*~
|
||||
\#*
|
||||
REVISION
|
||||
TAGS*
|
||||
tmtags
|
||||
.vscode
|
||||
.editorconfig
|
||||
|
||||
## COMPILED ##
|
||||
##############
|
||||
*.class
|
||||
*.com
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.pyc
|
||||
*.so
|
||||
*/rdoc/
|
||||
a.out
|
||||
mkmf.log
|
||||
|
||||
# Testing #
|
||||
###########
|
||||
.circleci/*
|
||||
.codeclimate.yml
|
||||
.delivery/*
|
||||
.foodcritic
|
||||
.kitchen*
|
||||
.mdlrc
|
||||
.overcommit.yml
|
||||
.rspec
|
||||
.rubocop.yml
|
||||
.travis.yml
|
||||
.watchr
|
||||
.yamllint
|
||||
azure-pipelines.yml
|
||||
Dangerfile
|
||||
examples/*
|
||||
features/*
|
||||
Guardfile
|
||||
kitchen.yml*
|
||||
mlc_config.json
|
||||
Procfile
|
||||
Rakefile
|
||||
spec/*
|
||||
test/*
|
||||
|
||||
# SCM #
|
||||
#######
|
||||
.git
|
||||
.gitattributes
|
||||
.gitconfig
|
||||
.github/*
|
||||
.gitignore
|
||||
.gitkeep
|
||||
.gitmodules
|
||||
.svn
|
||||
*/.bzr/*
|
||||
*/.git
|
||||
*/.hg/*
|
||||
*/.svn/*
|
||||
|
||||
# Berkshelf #
|
||||
#############
|
||||
Berksfile
|
||||
Berksfile.lock
|
||||
cookbooks/*
|
||||
tmp
|
||||
|
||||
# Bundler #
|
||||
###########
|
||||
vendor/*
|
||||
Gemfile
|
||||
Gemfile.lock
|
||||
|
||||
# Policyfile #
|
||||
##############
|
||||
Policyfile.rb
|
||||
Policyfile.lock.json
|
||||
|
||||
# Documentation #
|
||||
#############
|
||||
CODE_OF_CONDUCT*
|
||||
CONTRIBUTING*
|
||||
documentation/*
|
||||
TESTING*
|
||||
UPGRADING*
|
||||
|
||||
# Vagrant #
|
||||
###########
|
||||
.vagrant
|
||||
Vagrantfile
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
driver:
|
||||
name: dokken
|
||||
privileged: true # because Docker and SystemD
|
||||
chef_version: <%= ENV['CHEF_VERSION'] || 'current' %>
|
||||
chef_license: accept-no-persist
|
||||
|
||||
transport:
|
||||
name: dokken
|
||||
|
||||
provisioner:
|
||||
name: dokken
|
||||
deprecations_as_errors: true
|
||||
|
||||
verifier:
|
||||
name: inspec
|
||||
|
||||
platforms:
|
||||
- name: amazonlinux
|
||||
driver:
|
||||
image: dokken/amazonlinux
|
||||
pid_one_command: /sbin/init
|
||||
|
||||
- name: amazonlinux-2
|
||||
driver:
|
||||
image: dokken/amazonlinux-2
|
||||
pid_one_command: /usr/lib/systemd/systemd
|
||||
|
||||
- name: debian-8
|
||||
driver:
|
||||
image: dokken/debian-8
|
||||
pid_one_command: /bin/systemd
|
||||
intermediate_instructions:
|
||||
- RUN /usr/bin/apt-get update
|
||||
|
||||
- name: debian-9
|
||||
driver:
|
||||
image: dokken/debian-9
|
||||
pid_one_command: /bin/systemd
|
||||
intermediate_instructions:
|
||||
- RUN /usr/bin/apt-get update
|
||||
|
||||
- name: debian-10
|
||||
driver:
|
||||
image: dokken/debian-10
|
||||
pid_one_command: /bin/systemd
|
||||
intermediate_instructions:
|
||||
- RUN /usr/bin/apt-get update
|
||||
|
||||
- name: centos-7
|
||||
driver:
|
||||
image: dokken/centos-7
|
||||
pid_one_command: /usr/lib/systemd/systemd
|
||||
|
||||
- name: centos-8
|
||||
driver:
|
||||
image: dokken/centos-8
|
||||
pid_one_command: /usr/lib/systemd/systemd
|
||||
|
||||
- name: fedora-latest
|
||||
driver:
|
||||
image: dokken/fedora-latest
|
||||
pid_one_command: /usr/lib/systemd/systemd
|
||||
|
||||
- name: opensuse-leap-15
|
||||
driver:
|
||||
image: dokken/opensuse-leap-15
|
||||
pid_one_command: /bin/systemd
|
||||
|
||||
- name: ubuntu-18.04
|
||||
driver:
|
||||
image: dokken/ubuntu-18.04
|
||||
pid_one_command: /bin/systemd
|
||||
intermediate_instructions:
|
||||
- RUN /usr/bin/apt-get update
|
||||
|
||||
- name: ubuntu-20.04
|
||||
driver:
|
||||
image: dokken/ubuntu-20.04
|
||||
pid_one_command: /bin/systemd
|
||||
intermediate_instructions:
|
||||
- RUN /usr/bin/apt-get update
|
||||
- RUN /usr/bin/apt-get install python -y
|
||||
|
||||
- name: opensuse-leap-15
|
||||
driver:
|
||||
image: dokken/opensuse-leap-15
|
||||
pid_one_command: /bin/systemd
|
|
@ -0,0 +1,16 @@
|
|||
name 'nodejs'
|
||||
maintainer 'redguide'
|
||||
maintainer_email 'guilhem@lettron.fr'
|
||||
license 'Apache-2.0'
|
||||
description 'Installs/Configures node.js'
|
||||
source_url 'https://github.com/redguide/nodejs'
|
||||
issues_url 'https://github.com/redguide/nodejs/issues'
|
||||
chef_version '>= 14'
|
||||
version '7.3.1'
|
||||
|
||||
depends 'ark', '>= 2.0.2'
|
||||
depends 'chocolatey', '>= 3.0'
|
||||
|
||||
%w(debian ubuntu centos redhat scientific oracle amazon smartos mac_os_x opensuseleap suse windows).each do |os|
|
||||
supports os
|
||||
end
|
|
@ -0,0 +1,24 @@
|
|||
#
|
||||
# Author:: Hossein Margani (hossein@margani.dev)
|
||||
# Cookbook:: nodejs
|
||||
# Recipe:: install_from_chocolatey
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
include_recipe 'chocolatey'
|
||||
|
||||
chocolatey_package 'nodejs-lts' do
|
||||
version node['nodejs']['version'] if node['nodejs']['version']
|
||||
action :upgrade
|
||||
end
|
Loading…
Reference in New Issue