ruby-pwsh 0.6.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/lib/puppet/provider/dsc_base_provider/dsc_base_provider.rb +31 -1
- data/lib/pwsh/version.rb +1 -1
- data/metadata.json +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8334c3715e69873cda019ad2010187d15ad34a2b593426b567d056a4a1fc364
|
4
|
+
data.tar.gz: e66f5fccc419fc4d315c7db3def945bb3108d57c756bf55e5205039d1963c6c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2522c738352df33e552c0fa26b48113b95b65ceece2cc03bbb48d731df5e1fc623ec8590e18b8152205fb07ff33fc1f1f1892ccbc6e399a729a61732385a48c7
|
7
|
+
data.tar.gz: 43c5e11f365df85d1b45978bc3ae8855668bd97168ac24ef9d3bffd77b9e4a709b0eb71872d19b63c0225f2c08061dfa346d8e2c7fd52133afd283c14db54b2c
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,18 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
|
4
4
|
|
5
|
+
## [0.7.0](https://github.com/puppetlabs/ruby-pwsh/tree/0.7.0) (2021-01-20)
|
6
|
+
|
7
|
+
[Full Changelog](https://github.com/puppetlabs/ruby-pwsh/compare/0.6.3...0.7.0)
|
8
|
+
|
9
|
+
### Added
|
10
|
+
|
11
|
+
- \(GH-75\) Including module name in vendored module path [\#85](https://github.com/puppetlabs/ruby-pwsh/pull/85) ([pmcmaw](https://github.com/pmcmaw))
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
|
15
|
+
- Make root module path use puppetized module name [\#86](https://github.com/puppetlabs/ruby-pwsh/pull/86) ([michaeltlombardi](https://github.com/michaeltlombardi))
|
16
|
+
|
5
17
|
## [0.6.3](https://github.com/puppetlabs/ruby-pwsh/tree/0.6.3) (2020-12-16)
|
6
18
|
|
7
19
|
[Full Changelog](https://github.com/puppetlabs/ruby-pwsh/compare/0.6.2...0.6.3)
|
@@ -70,6 +82,10 @@ All notable changes to this project will be documented in this file.The format i
|
|
70
82
|
|
71
83
|
[Full Changelog](https://github.com/puppetlabs/ruby-pwsh/compare/0.3.0...0.4.0)
|
72
84
|
|
85
|
+
### Added
|
86
|
+
|
87
|
+
- \(MODULES-10389\) Add puppet feature for dependent modules to leverage [\#20](https://github.com/puppetlabs/ruby-pwsh/pull/20) ([sanfrancrisko](https://github.com/sanfrancrisko))
|
88
|
+
|
73
89
|
## [0.3.0](https://github.com/puppetlabs/ruby-pwsh/tree/0.3.0) (2019-12-04)
|
74
90
|
|
75
91
|
[Full Changelog](https://github.com/puppetlabs/ruby-pwsh/compare/0.2.0...0.3.0)
|
@@ -358,17 +358,47 @@ class Puppet::Provider::DscBaseProvider
|
|
358
358
|
# Because Puppet adds all of the modules to the LOAD_PATH we can be sure that the appropriate module lives here during an apply;
|
359
359
|
# PROBLEM: This currently uses the downcased name, we need to capture the module name in the metadata I think.
|
360
360
|
# During a Puppet agent run, the code lives in the cache so we can use the file expansion to discover the correct folder.
|
361
|
-
root_module_path = $LOAD_PATH.select { |path| path.match?(%r{#{resource[:dscmeta_module_name]
|
361
|
+
root_module_path = $LOAD_PATH.select { |path| path.match?(%r{#{puppetize_name(resource[:dscmeta_module_name])}/lib}) }.first
|
362
362
|
resource[:vendored_modules_path] = if root_module_path.nil?
|
363
363
|
File.expand_path(Pathname.new(__FILE__).dirname + '../../../' + 'puppet_x/dsc_resources') # rubocop:disable Style/StringConcatenation
|
364
364
|
else
|
365
365
|
File.expand_path("#{root_module_path}/puppet_x/dsc_resources")
|
366
366
|
end
|
367
|
+
|
368
|
+
# This handles setting the vendored_modules_path to include the puppet module name
|
369
|
+
# We now add the puppet module name into the path to allow multiple modules to with shared dsc_resources to be installed side by side
|
370
|
+
# The old vendored_modules_path: puppet_x/dsc_resources
|
371
|
+
# The new vendored_modules_path: puppet_x/<module_name>/dsc_resources
|
372
|
+
unless File.exist? resource[:vendored_modules_path]
|
373
|
+
resource[:vendored_modules_path] = if root_module_path.nil?
|
374
|
+
File.expand_path(Pathname.new(__FILE__).dirname + '../../../' + "puppet_x/#{puppetize_name(resource[:dscmeta_module_name])}/dsc_resources") # rubocop:disable Style/StringConcatenation
|
375
|
+
else
|
376
|
+
File.expand_path("#{root_module_path}/puppet_x/#{puppetize_name(resource[:dscmeta_module_name])}/dsc_resources")
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
# A warning is thrown if the something went wrong and the file was not created
|
381
|
+
raise "Unable to find expected vendored DSC Resource #{resource[:vendored_modules_path]}" unless File.exist? resource[:vendored_modules_path]
|
382
|
+
|
367
383
|
resource[:attributes] = nil
|
384
|
+
|
368
385
|
context.debug("should_to_resource: #{resource.inspect}")
|
369
386
|
resource
|
370
387
|
end
|
371
388
|
|
389
|
+
# Return a String containing a puppetized name. A puppetized name is a string that only
|
390
|
+
# includes lowercase letters, digits, underscores and cannot start with a digit.
|
391
|
+
#
|
392
|
+
# @return [String] with a puppeized module name
|
393
|
+
def puppetize_name(name)
|
394
|
+
# Puppet module names must be lower case
|
395
|
+
name = name.downcase
|
396
|
+
# Puppet module names must only include lowercase letters, digits and underscores
|
397
|
+
name = name.gsub(/[^a-z0-9_]/, '_')
|
398
|
+
# Puppet module names must not start with a number so if it does, append the letter 'a' to the name. Eg: '7zip' becomes 'a7zip'
|
399
|
+
name = name.match?(/^\d/) ? "a#{name}" : name # rubocop:disable Lint/UselessAssignment
|
400
|
+
end
|
401
|
+
|
372
402
|
# Return a UUID with the dashes turned into underscores to enable the specifying of guaranteed-unique
|
373
403
|
# variables in the PowerShell script.
|
374
404
|
#
|
data/lib/pwsh/version.rb
CHANGED
data/metadata.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-pwsh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet, Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: PowerShell code manager for ruby.
|
14
14
|
email:
|
@@ -54,7 +54,7 @@ metadata:
|
|
54
54
|
homepage_uri: https://github.com/puppetlabs/ruby-pwsh
|
55
55
|
source_code_uri: https://github.com/puppetlabs/ruby-pwsh
|
56
56
|
changelog_uri: https://github.com/puppetlabs/ruby-pwsh
|
57
|
-
post_install_message:
|
57
|
+
post_install_message:
|
58
58
|
rdoc_options: []
|
59
59
|
require_paths:
|
60
60
|
- lib
|
@@ -69,9 +69,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
|
-
|
73
|
-
|
74
|
-
signing_key:
|
72
|
+
rubygems_version: 3.1.4
|
73
|
+
signing_key:
|
75
74
|
specification_version: 4
|
76
75
|
summary: PowerShell code manager for ruby.
|
77
76
|
test_files: []
|