puppet-moddeps 0.3.2 → 2.0.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 +5 -13
- data/.github/dependabot.yml +12 -0
- data/.github/workflows/gempush.yml +29 -0
- data/.github/workflows/ruby.yaml +35 -0
- data/.gitignore +26 -24
- data/.rspec +2 -0
- data/.travis.yml +12 -30
- data/.yardopts +3 -0
- data/CHANGELOG.md +30 -0
- data/Gemfile +4 -4
- data/Guardfile +22 -15
- data/LICENSE +200 -27
- data/README.md +75 -71
- data/Rakefile +14 -11
- data/Vagrantfile +16 -16
- data/bin/puppet-moddeps +6 -5
- data/lib/puppet/moddeps.rb +8 -73
- data/lib/puppet/moddeps/installer.rb +244 -0
- data/lib/puppet/moddeps/module.rb +87 -0
- data/lib/puppet/moddeps/version.rb +5 -5
- data/puppet-moddeps.gemspec +50 -41
- data/spec/puppet/moddeps/installer_spec.rb +122 -0
- data/spec/spec_helper.rb +13 -8
- metadata +159 -77
- data/.coveralls.yml +0 -2
- data/Gemfile.lock +0 -107
- data/scripts/pretest.sh +0 -20
- data/scripts/vagrant-user.sh +0 -21
- data/spec/moddeps_spec.rb +0 -56
@@ -0,0 +1,87 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This class represents a module specification.
|
4
|
+
# class to have a consistent API for accessing a module's attributes.
|
5
|
+
#
|
6
|
+
module Puppet
|
7
|
+
module Moddeps
|
8
|
+
class Module
|
9
|
+
attr_reader :owner, :name, :version
|
10
|
+
|
11
|
+
def initialize(owner, name, version = nil)
|
12
|
+
@owner = owner
|
13
|
+
@name = name
|
14
|
+
@version = version unless version == :latest
|
15
|
+
end
|
16
|
+
|
17
|
+
# Creates a new module from a hash.
|
18
|
+
#
|
19
|
+
def self.from_hash(mod)
|
20
|
+
unless mod['name'].is_a?(String)
|
21
|
+
raise "Module name must be a String, not #{mod['name'].inspect}"
|
22
|
+
end
|
23
|
+
|
24
|
+
owner, name = mod['name'].tr('/', '-').split('-', 2)
|
25
|
+
|
26
|
+
unless owner && name
|
27
|
+
raise "Module name #{mod['name']} must include both the owner and module name."
|
28
|
+
end
|
29
|
+
|
30
|
+
new(owner, name, mod['version_requirement'])
|
31
|
+
end
|
32
|
+
|
33
|
+
# Returns the module's title.
|
34
|
+
#
|
35
|
+
def title
|
36
|
+
"#{@owner}-#{@name}"
|
37
|
+
end
|
38
|
+
alias to_s title
|
39
|
+
|
40
|
+
# Checks two modules for equality.
|
41
|
+
#
|
42
|
+
def eql?(other)
|
43
|
+
self.class == other.class &&
|
44
|
+
@owner == other.owner &&
|
45
|
+
@name == other.name &&
|
46
|
+
versions_intersect?(other)
|
47
|
+
end
|
48
|
+
alias == eql?
|
49
|
+
|
50
|
+
# Returns true if the versions of two modules intersect. Used to determine
|
51
|
+
# if an installed module satisfies the version requirement of another.
|
52
|
+
#
|
53
|
+
def versions_intersect?(other)
|
54
|
+
range = ::SemanticPuppet::VersionRange.parse(@version || '')
|
55
|
+
other_range = ::SemanticPuppet::VersionRange.parse(other.version || '')
|
56
|
+
|
57
|
+
range.intersection(other_range) != ::SemanticPuppet::VersionRange::EMPTY_RANGE
|
58
|
+
end
|
59
|
+
|
60
|
+
# Hashes the module.
|
61
|
+
#
|
62
|
+
def hash
|
63
|
+
[@owner, @name].hash
|
64
|
+
end
|
65
|
+
|
66
|
+
# Returns a hash representation similar to the module
|
67
|
+
# declaration.
|
68
|
+
#
|
69
|
+
def to_hash
|
70
|
+
{
|
71
|
+
'name' => title,
|
72
|
+
'version_requirement' => version
|
73
|
+
}.compact
|
74
|
+
end
|
75
|
+
|
76
|
+
# Returns the Puppetfile specification for the module.
|
77
|
+
#
|
78
|
+
def to_spec
|
79
|
+
if @version
|
80
|
+
"mod #{title.inspect}, #{@version.inspect}"
|
81
|
+
else
|
82
|
+
"mod #{title.inspect}"
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
module Puppet
|
2
|
-
module Moddeps
|
3
|
-
VERSION = "0.
|
4
|
-
end
|
5
|
-
end
|
1
|
+
module Puppet
|
2
|
+
module Moddeps
|
3
|
+
VERSION = "2.0.0"
|
4
|
+
end
|
5
|
+
end
|
data/puppet-moddeps.gemspec
CHANGED
@@ -1,41 +1,50 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'puppet/moddeps/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "puppet-moddeps"
|
8
|
-
spec.version = Puppet::Moddeps::VERSION
|
9
|
-
spec.authors = ["GeneBean"]
|
10
|
-
spec.email = ["
|
11
|
-
spec.summary = %q{Installs dependencies for a given Puppet module}
|
12
|
-
spec.description = <<-EOF
|
13
|
-
This gem will allow you to pull in all missing dependencies for a given
|
14
|
-
Puppet module. This is targeted specifically at private modules that have a
|
15
|
-
populated metadata.json file.
|
16
|
-
EOF
|
17
|
-
spec.homepage = "https://github.com/genebean/puppet-moddeps"
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
spec.
|
22
|
-
spec.
|
23
|
-
spec.
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
spec.add_development_dependency '
|
29
|
-
spec.add_development_dependency '
|
30
|
-
spec.add_development_dependency '
|
31
|
-
spec.add_development_dependency 'guard', '~> 2.
|
32
|
-
spec.add_development_dependency '
|
33
|
-
spec.add_development_dependency 'pry', '~>
|
34
|
-
spec.add_development_dependency 'pry-
|
35
|
-
spec.add_development_dependency '
|
36
|
-
spec.add_development_dependency '
|
37
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
38
|
-
spec.add_development_dependency '
|
39
|
-
|
40
|
-
|
41
|
-
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'puppet/moddeps/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "puppet-moddeps"
|
8
|
+
spec.version = Puppet::Moddeps::VERSION
|
9
|
+
spec.authors = ["GeneBean"]
|
10
|
+
spec.email = ["gene@technicalissues.us"]
|
11
|
+
spec.summary = %q{Installs dependencies for a given Puppet module}
|
12
|
+
spec.description = <<-EOF
|
13
|
+
This gem will allow you to pull in all missing dependencies for a given
|
14
|
+
Puppet module. This is targeted specifically at private modules that have a
|
15
|
+
populated metadata.json file.
|
16
|
+
EOF
|
17
|
+
spec.homepage = "https://github.com/genebean/puppet-moddeps"
|
18
|
+
spec.license = "Apache-2.0"
|
19
|
+
|
20
|
+
spec.files = `git ls-files -z`.split("\x0")
|
21
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
|
25
|
+
spec.required_ruby_version = '>= 2.5.7'
|
26
|
+
|
27
|
+
spec.add_development_dependency 'bundler', '~> 2.1', '>= 2.1.4'
|
28
|
+
spec.add_development_dependency 'codecov', '~> 0.2.12'
|
29
|
+
spec.add_development_dependency 'guard', '~> 2.16', '>= 2.16.2'
|
30
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.7', '>= 4.7.3'
|
31
|
+
spec.add_development_dependency 'guard-yard', '~> 2.2', '>= 2.2.1'
|
32
|
+
spec.add_development_dependency 'pry', '~> 0.13.1'
|
33
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
34
|
+
spec.add_development_dependency 'pry-remote', '~> 0.1.8'
|
35
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
|
36
|
+
spec.add_development_dependency 'rspec', '~> 3.9'
|
37
|
+
spec.add_development_dependency 'rspec-nc', '~> 0.3.0'
|
38
|
+
spec.add_development_dependency 'wdm', '~> 0.1.1' if Gem.win_platform?
|
39
|
+
spec.add_development_dependency 'yard', '~> 0.9.25'
|
40
|
+
|
41
|
+
if ENV.key?('PUPPET_VERSION')
|
42
|
+
puppetversion = "= #{ENV['PUPPET_VERSION']}"
|
43
|
+
else
|
44
|
+
puppetversion = ['>= 6.0', '< 7.0']
|
45
|
+
end
|
46
|
+
spec.add_development_dependency 'puppet', puppetversion
|
47
|
+
|
48
|
+
spec.add_runtime_dependency 'json', '~> 2.3', '>= 2.3.1'
|
49
|
+
spec.add_runtime_dependency 'puppetfile-resolver', '~> 0.4.0'
|
50
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Puppet::Moddeps::Installer do
|
4
|
+
|
5
|
+
before(:all) do
|
6
|
+
if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RbConfig::CONFIG['host_os']) != nil
|
7
|
+
@expected_path = %x(puppet config print modulepath).split(';')[0].strip
|
8
|
+
else
|
9
|
+
@expected_path = %x(puppet config print modulepath).split(':')[0].strip
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '.initialize(module_path, puppet_version)' do
|
14
|
+
it 'should set the default module path and puppet version' do
|
15
|
+
base_obj = Puppet::Moddeps::Installer.new
|
16
|
+
|
17
|
+
expect(base_obj.module_path).to eq(@expected_path)
|
18
|
+
expect(base_obj.puppet_version).to be_nil
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should use the provided values' do
|
22
|
+
base_obj = Puppet::Moddeps::Installer.new('/tmp', '6.18.0')
|
23
|
+
expect(base_obj.module_path).to eq('/tmp')
|
24
|
+
expect(base_obj.puppet_version).to eq('6.18.0')
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should fail when an array is passed to path' do
|
28
|
+
expect {
|
29
|
+
Puppet::Moddeps::Installer.new(['path1', 'path2'])
|
30
|
+
}.to raise_error(SystemExit, 'The provided module path was not a string.' )
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should fail when an array is passed to puppet_version' do
|
34
|
+
expect {
|
35
|
+
Puppet::Moddeps::Installer.new('/tmp', ['arg1', 'arg2'])
|
36
|
+
}.to raise_error(SystemExit, 'The provided puppet version was not a string.' )
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '.install(puppet_module) feedback verification' do
|
41
|
+
before(:each) do
|
42
|
+
@base_object = Puppet::Moddeps::Installer.new
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'with no parameters' do
|
46
|
+
it 'should print usage info' do
|
47
|
+
expect { @base_object.install }.to raise_error(SystemExit, /Usage.*/)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'should print usage if an element of the array is not a string' do
|
52
|
+
allow(@base_object).to receive(:installed?).and_return(true)
|
53
|
+
expect { @base_object.install(['arg1', ['arg2']]) }.to raise_error(SystemExit, /Usage.*/)
|
54
|
+
expect { @base_object.install([['arg1'], 'arg2']) }.to raise_error(SystemExit, /Usage.*/)
|
55
|
+
expect { @base_object.install([{'arg1' => 'arg2'}]) }.to raise_error(SystemExit, /Usage.*/)
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should print usage if an empty array is passed in' do
|
59
|
+
params = []
|
60
|
+
expect { @base_object.install(params) }.to raise_error(SystemExit, /Usage.*/)
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should fail if the parameter is not an installed module' do
|
64
|
+
expect { @base_object.install(['fake_missing_module']) }.to raise_error(SystemExit, /Can\'t find fake_missing_module in.*/)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe '.path_separator' do
|
69
|
+
|
70
|
+
subject { Puppet::Moddeps::Installer.new }
|
71
|
+
|
72
|
+
context 'on Windows' do
|
73
|
+
it 'should return ; as the path separator' do
|
74
|
+
expect(subject.path_separator('mingw32')).to eq(';')
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
context 'on Linux' do
|
79
|
+
it 'should return : as the path separator' do
|
80
|
+
expect(subject.path_separator('linux-gnu')).to eq(':')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe '.install Puppet modules' do
|
86
|
+
it "should install dependencies for a single module" do
|
87
|
+
base_object = Puppet::Moddeps::Installer.new
|
88
|
+
module_to_install = Puppet::Moddeps::Module.new("genebean", "foo", "1.2.3")
|
89
|
+
allow(base_object).to receive(:installed?).and_return(true)
|
90
|
+
allow(base_object).to receive(:module_versions_match?).and_return(false)
|
91
|
+
|
92
|
+
# return a single module to install
|
93
|
+
allow(base_object).to receive(:resolve_local_module_deps).and_return([module_to_install])
|
94
|
+
allow(base_object).to receive(:call_puppet)
|
95
|
+
|
96
|
+
base_object.install(['apache'])
|
97
|
+
|
98
|
+
# validate that only the returned modules is installed
|
99
|
+
expect(base_object).to have_received(:call_puppet).once
|
100
|
+
expect(base_object).to have_received(:call_puppet).once.with(module_to_install)
|
101
|
+
end
|
102
|
+
|
103
|
+
it "should install dependencies for multiple modules" do
|
104
|
+
base_object = Puppet::Moddeps::Installer.new
|
105
|
+
first_module_to_install = Puppet::Moddeps::Module.new("genebean", "foo", "1.2.3")
|
106
|
+
second_module_to_install = Puppet::Moddeps::Module.new("genebean", "bar", "4.5.6")
|
107
|
+
allow(base_object).to receive(:installed?).and_return(true)
|
108
|
+
allow(base_object).to receive(:module_versions_match?).and_return(false)
|
109
|
+
|
110
|
+
# return two modules to install
|
111
|
+
allow(base_object).to receive(:resolve_local_module_deps).and_return([first_module_to_install, second_module_to_install])
|
112
|
+
allow(base_object).to receive(:call_puppet)
|
113
|
+
|
114
|
+
base_object.install(['apache', 'nginx'])
|
115
|
+
|
116
|
+
# validate that only the two returned modules get installed
|
117
|
+
expect(base_object).to have_received(:call_puppet).twice
|
118
|
+
expect(base_object).to have_received(:call_puppet).once.with(first_module_to_install)
|
119
|
+
expect(base_object).to have_received(:call_puppet).once.with(second_module_to_install)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
require 'simplecov'
|
2
|
+
require 'codecov'
|
3
|
+
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
SimpleCov::Formatter::Codecov
|
7
|
+
])
|
8
|
+
SimpleCov.start
|
9
|
+
|
10
|
+
require 'pry'
|
11
|
+
require 'puppet/moddeps'
|
12
|
+
require 'rbconfig'
|
13
|
+
require 'semantic_puppet'
|
metadata
CHANGED
@@ -1,204 +1,287 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-moddeps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GeneBean
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '2.1'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.1.4
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - ~>
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.1'
|
30
|
+
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 2.1.4
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
34
|
+
name: codecov
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
|
-
- - ~>
|
37
|
+
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
39
|
+
version: 0.2.12
|
34
40
|
type: :development
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
|
-
- - ~>
|
44
|
+
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
46
|
+
version: 0.2.12
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
48
|
+
name: guard
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
|
-
- - ~>
|
51
|
+
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
53
|
+
version: '2.16'
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 2.16.2
|
48
57
|
type: :development
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
51
60
|
requirements:
|
52
|
-
- - ~>
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.16'
|
64
|
+
- - ">="
|
53
65
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
66
|
+
version: 2.16.2
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: guard
|
68
|
+
name: guard-rspec
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
58
70
|
requirements:
|
59
|
-
- - ~>
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '4.7'
|
74
|
+
- - ">="
|
60
75
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
76
|
+
version: 4.7.3
|
62
77
|
type: :development
|
63
78
|
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
65
80
|
requirements:
|
66
|
-
- - ~>
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '4.7'
|
84
|
+
- - ">="
|
67
85
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
86
|
+
version: 4.7.3
|
69
87
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: guard-
|
88
|
+
name: guard-yard
|
71
89
|
requirement: !ruby/object:Gem::Requirement
|
72
90
|
requirements:
|
73
|
-
- - ~>
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '2.2'
|
94
|
+
- - ">="
|
74
95
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
96
|
+
version: 2.2.1
|
76
97
|
type: :development
|
77
98
|
prerelease: false
|
78
99
|
version_requirements: !ruby/object:Gem::Requirement
|
79
100
|
requirements:
|
80
|
-
- - ~>
|
101
|
+
- - "~>"
|
81
102
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
103
|
+
version: '2.2'
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 2.2.1
|
83
107
|
- !ruby/object:Gem::Dependency
|
84
108
|
name: pry
|
85
109
|
requirement: !ruby/object:Gem::Requirement
|
86
110
|
requirements:
|
87
|
-
- - ~>
|
111
|
+
- - "~>"
|
88
112
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
113
|
+
version: 0.13.1
|
90
114
|
type: :development
|
91
115
|
prerelease: false
|
92
116
|
version_requirements: !ruby/object:Gem::Requirement
|
93
117
|
requirements:
|
94
|
-
- - ~>
|
118
|
+
- - "~>"
|
95
119
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
120
|
+
version: 0.13.1
|
97
121
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: pry-
|
122
|
+
name: pry-byebug
|
99
123
|
requirement: !ruby/object:Gem::Requirement
|
100
124
|
requirements:
|
101
|
-
- - ~>
|
125
|
+
- - "~>"
|
102
126
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
127
|
+
version: '3.9'
|
104
128
|
type: :development
|
105
129
|
prerelease: false
|
106
130
|
version_requirements: !ruby/object:Gem::Requirement
|
107
131
|
requirements:
|
108
|
-
- - ~>
|
132
|
+
- - "~>"
|
109
133
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
134
|
+
version: '3.9'
|
111
135
|
- !ruby/object:Gem::Dependency
|
112
136
|
name: pry-remote
|
113
137
|
requirement: !ruby/object:Gem::Requirement
|
114
138
|
requirements:
|
115
|
-
- - ~>
|
139
|
+
- - "~>"
|
116
140
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
141
|
+
version: 0.1.8
|
118
142
|
type: :development
|
119
143
|
prerelease: false
|
120
144
|
version_requirements: !ruby/object:Gem::Requirement
|
121
145
|
requirements:
|
122
|
-
- - ~>
|
146
|
+
- - "~>"
|
123
147
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
148
|
+
version: 0.1.8
|
125
149
|
- !ruby/object:Gem::Dependency
|
126
150
|
name: rake
|
127
151
|
requirement: !ruby/object:Gem::Requirement
|
128
152
|
requirements:
|
129
|
-
- - ~>
|
153
|
+
- - "~>"
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '13.0'
|
156
|
+
- - ">="
|
130
157
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
158
|
+
version: 13.0.1
|
132
159
|
type: :development
|
133
160
|
prerelease: false
|
134
161
|
version_requirements: !ruby/object:Gem::Requirement
|
135
162
|
requirements:
|
136
|
-
- - ~>
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '13.0'
|
166
|
+
- - ">="
|
137
167
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
168
|
+
version: 13.0.1
|
139
169
|
- !ruby/object:Gem::Dependency
|
140
170
|
name: rspec
|
141
171
|
requirement: !ruby/object:Gem::Requirement
|
142
172
|
requirements:
|
143
|
-
- - ~>
|
173
|
+
- - "~>"
|
144
174
|
- !ruby/object:Gem::Version
|
145
|
-
version: '3.
|
175
|
+
version: '3.9'
|
146
176
|
type: :development
|
147
177
|
prerelease: false
|
148
178
|
version_requirements: !ruby/object:Gem::Requirement
|
149
179
|
requirements:
|
150
|
-
- - ~>
|
180
|
+
- - "~>"
|
151
181
|
- !ruby/object:Gem::Version
|
152
|
-
version: '3.
|
182
|
+
version: '3.9'
|
153
183
|
- !ruby/object:Gem::Dependency
|
154
184
|
name: rspec-nc
|
155
185
|
requirement: !ruby/object:Gem::Requirement
|
156
186
|
requirements:
|
157
|
-
- - ~>
|
187
|
+
- - "~>"
|
158
188
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
189
|
+
version: 0.3.0
|
160
190
|
type: :development
|
161
191
|
prerelease: false
|
162
192
|
version_requirements: !ruby/object:Gem::Requirement
|
163
193
|
requirements:
|
164
|
-
- - ~>
|
194
|
+
- - "~>"
|
165
195
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
196
|
+
version: 0.3.0
|
197
|
+
- !ruby/object:Gem::Dependency
|
198
|
+
name: yard
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
200
|
+
requirements:
|
201
|
+
- - "~>"
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: 0.9.25
|
204
|
+
type: :development
|
205
|
+
prerelease: false
|
206
|
+
version_requirements: !ruby/object:Gem::Requirement
|
207
|
+
requirements:
|
208
|
+
- - "~>"
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: 0.9.25
|
211
|
+
- !ruby/object:Gem::Dependency
|
212
|
+
name: puppet
|
213
|
+
requirement: !ruby/object:Gem::Requirement
|
214
|
+
requirements:
|
215
|
+
- - ">="
|
216
|
+
- !ruby/object:Gem::Version
|
217
|
+
version: '6.0'
|
218
|
+
- - "<"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '7.0'
|
221
|
+
type: :development
|
222
|
+
prerelease: false
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - ">="
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '6.0'
|
228
|
+
- - "<"
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '7.0'
|
167
231
|
- !ruby/object:Gem::Dependency
|
168
232
|
name: json
|
169
233
|
requirement: !ruby/object:Gem::Requirement
|
170
234
|
requirements:
|
171
|
-
- - ~>
|
235
|
+
- - "~>"
|
172
236
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
174
|
-
- -
|
237
|
+
version: '2.3'
|
238
|
+
- - ">="
|
175
239
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
240
|
+
version: 2.3.1
|
177
241
|
type: :runtime
|
178
242
|
prerelease: false
|
179
243
|
version_requirements: !ruby/object:Gem::Requirement
|
180
244
|
requirements:
|
181
|
-
- - ~>
|
245
|
+
- - "~>"
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '2.3'
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 2.3.1
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: puppetfile-resolver
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - "~>"
|
182
256
|
- !ruby/object:Gem::Version
|
183
|
-
version:
|
184
|
-
|
257
|
+
version: 0.4.0
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - "~>"
|
185
263
|
- !ruby/object:Gem::Version
|
186
|
-
version:
|
187
|
-
description:
|
188
|
-
|
189
|
-
|
264
|
+
version: 0.4.0
|
265
|
+
description: |2
|
266
|
+
This gem will allow you to pull in all missing dependencies for a given
|
267
|
+
Puppet module. This is targeted specifically at private modules that have a
|
268
|
+
populated metadata.json file.
|
190
269
|
email:
|
191
|
-
-
|
270
|
+
- gene@technicalissues.us
|
192
271
|
executables:
|
193
272
|
- puppet-moddeps
|
194
273
|
extensions: []
|
195
274
|
extra_rdoc_files: []
|
196
275
|
files:
|
197
|
-
- .
|
198
|
-
- .
|
199
|
-
- .
|
276
|
+
- ".github/dependabot.yml"
|
277
|
+
- ".github/workflows/gempush.yml"
|
278
|
+
- ".github/workflows/ruby.yaml"
|
279
|
+
- ".gitignore"
|
280
|
+
- ".rspec"
|
281
|
+
- ".travis.yml"
|
282
|
+
- ".yardopts"
|
283
|
+
- CHANGELOG.md
|
200
284
|
- Gemfile
|
201
|
-
- Gemfile.lock
|
202
285
|
- Guardfile
|
203
286
|
- LICENSE
|
204
287
|
- README.md
|
@@ -206,15 +289,15 @@ files:
|
|
206
289
|
- Vagrantfile
|
207
290
|
- bin/puppet-moddeps
|
208
291
|
- lib/puppet/moddeps.rb
|
292
|
+
- lib/puppet/moddeps/installer.rb
|
293
|
+
- lib/puppet/moddeps/module.rb
|
209
294
|
- lib/puppet/moddeps/version.rb
|
210
295
|
- puppet-moddeps.gemspec
|
211
|
-
-
|
212
|
-
- scripts/vagrant-user.sh
|
213
|
-
- spec/moddeps_spec.rb
|
296
|
+
- spec/puppet/moddeps/installer_spec.rb
|
214
297
|
- spec/spec_helper.rb
|
215
298
|
homepage: https://github.com/genebean/puppet-moddeps
|
216
299
|
licenses:
|
217
|
-
-
|
300
|
+
- Apache-2.0
|
218
301
|
metadata: {}
|
219
302
|
post_install_message:
|
220
303
|
rdoc_options: []
|
@@ -222,20 +305,19 @@ require_paths:
|
|
222
305
|
- lib
|
223
306
|
required_ruby_version: !ruby/object:Gem::Requirement
|
224
307
|
requirements:
|
225
|
-
- -
|
308
|
+
- - ">="
|
226
309
|
- !ruby/object:Gem::Version
|
227
|
-
version:
|
310
|
+
version: 2.5.7
|
228
311
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
229
312
|
requirements:
|
230
|
-
- -
|
313
|
+
- - ">="
|
231
314
|
- !ruby/object:Gem::Version
|
232
315
|
version: '0'
|
233
316
|
requirements: []
|
234
|
-
|
235
|
-
rubygems_version: 2.4.5
|
317
|
+
rubygems_version: 3.1.2
|
236
318
|
signing_key:
|
237
319
|
specification_version: 4
|
238
320
|
summary: Installs dependencies for a given Puppet module
|
239
321
|
test_files:
|
240
|
-
- spec/
|
322
|
+
- spec/puppet/moddeps/installer_spec.rb
|
241
323
|
- spec/spec_helper.rb
|