cem_acpt 0.2.6-universal-java-17 → 0.2.9-universal-java-17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -5
- data/Gemfile.lock +8 -13
- data/cem_acpt.gemspec +4 -6
- data/lib/cem_acpt/rspec_utils.rb +92 -84
- data/lib/cem_acpt/test_runner/runner.rb +20 -18
- data/lib/cem_acpt/version.rb +1 -1
- metadata +33 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4181b3fae3e4d3f0029314896873f2f604374cc4583473b0b05e689464d346f
|
4
|
+
data.tar.gz: 5e01be5d223962785a18e685f17cc1c3cd393f705cd2b5df174327a8631e1598
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9dc631cf11d32f85405358a8bc4e8501afc290a15ed68e80688472de838cfdd81cf09e9a10d346f396de6f1c2505188c443c60e0d4b106b346fd77f079c311c
|
7
|
+
data.tar.gz: 7866ca7c6272369e15c2fbf3f2dd69ce6d6caf6d059b08ad686e7b2fcaf5d63d5d093dbfac076c4c68f3ac7c07f4bcacc2bcd01107667531e069821c00e90313
|
data/Gemfile
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
ruby '2.6.8', engine: 'jruby', engine_version: '>= 9.3.3.0'
|
1
|
+
# frozen_string_literal: true
|
2
|
+
source 'https://rubygems.org'
|
4
3
|
|
5
4
|
# Specify your gem's dependencies in cem_acpt.gemspec
|
6
5
|
gemspec
|
7
6
|
|
8
|
-
gem
|
9
|
-
gem
|
7
|
+
gem 'rake', '>= 12.0'
|
8
|
+
gem 'rspec', '>= 3.0'
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cem_acpt (0.2.
|
5
|
-
concurrent-ruby (
|
6
|
-
deep_merge (
|
4
|
+
cem_acpt (0.2.9-universal-java-17)
|
5
|
+
concurrent-ruby (>= 1.1, < 2.0)
|
6
|
+
deep_merge (>= 1.2, < 2.0)
|
7
7
|
ed25519 (>= 1.2, < 2.0)
|
8
|
-
net-ssh (
|
9
|
-
puppet-modulebuilder (
|
10
|
-
rake
|
11
|
-
rspec
|
8
|
+
net-ssh (>= 7.0, < 8.0)
|
9
|
+
puppet-modulebuilder (>= 0.0.1)
|
12
10
|
serverspec-cem-acpt
|
13
11
|
|
14
12
|
GEM
|
@@ -33,7 +31,7 @@ GEM
|
|
33
31
|
minitar (~> 0.9)
|
34
32
|
pathspec (>= 0.2.1, < 2.0.0)
|
35
33
|
rainbow (3.1.1)
|
36
|
-
rake (
|
34
|
+
rake (13.0.6)
|
37
35
|
regexp_parser (2.5.0)
|
38
36
|
rexml (3.2.5)
|
39
37
|
rspec (3.11.0)
|
@@ -82,12 +80,9 @@ PLATFORMS
|
|
82
80
|
|
83
81
|
DEPENDENCIES
|
84
82
|
cem_acpt!
|
85
|
-
rake (
|
86
|
-
rspec (
|
83
|
+
rake (>= 12.0)
|
84
|
+
rspec (>= 3.0)
|
87
85
|
rubocop
|
88
86
|
|
89
|
-
RUBY VERSION
|
90
|
-
ruby 2.6.8p0 (jruby 9.3.3.0)
|
91
|
-
|
92
87
|
BUNDLED WITH
|
93
88
|
2.3.15
|
data/cem_acpt.gemspec
CHANGED
@@ -27,13 +27,11 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ['lib']
|
29
29
|
spec.platform = Gem::Platform.local
|
30
|
-
spec.add_runtime_dependency 'concurrent-ruby', '
|
31
|
-
spec.add_runtime_dependency 'deep_merge', '
|
32
|
-
spec.add_runtime_dependency 'net-ssh', '~> 7.0.0.beta1'
|
30
|
+
spec.add_runtime_dependency 'concurrent-ruby', '>= 1.1', '< 2.0'
|
31
|
+
spec.add_runtime_dependency 'deep_merge', '>= 1.2', '< 2.0'
|
33
32
|
spec.add_runtime_dependency 'ed25519', '>= 1.2', '< 2.0'
|
34
|
-
spec.add_runtime_dependency '
|
35
|
-
spec.add_runtime_dependency '
|
36
|
-
spec.add_runtime_dependency 'rspec'
|
33
|
+
spec.add_runtime_dependency 'net-ssh', '>= 7.0', '< 8.0'
|
34
|
+
spec.add_runtime_dependency 'puppet-modulebuilder', '>= 0.0.1'
|
37
35
|
spec.add_runtime_dependency 'serverspec-cem-acpt'
|
38
36
|
spec.add_development_dependency 'rubocop'
|
39
37
|
end
|
data/lib/cem_acpt/rspec_utils.rb
CHANGED
@@ -12,13 +12,17 @@ module CemAcpt
|
|
12
12
|
class BundlerNotFoundError < StandardError; end
|
13
13
|
class RSpecNotFoundError < StandardError; end
|
14
14
|
|
15
|
-
# Holds
|
16
|
-
class
|
17
|
-
|
18
|
-
attr_reader :debug, :format, :test_path, :use_bundler, :pty_pid
|
15
|
+
# Holds RSpec options used by Command
|
16
|
+
class Options
|
17
|
+
OPTIONS = %i[test_path bundle rspec use_bundler bundle_install format debug quiet env].freeze
|
19
18
|
|
19
|
+
attr_accessor(*OPTIONS)
|
20
|
+
|
21
|
+
# @param config [CemAcpt::Config] A config object
|
20
22
|
# @param opts [Hash] options hash for the RSpec command
|
21
23
|
# @option opts [String] :test_path The path (or glob path) to the test file(s) to run. If blank, runs all.
|
24
|
+
# @option opts [String] :bundle The path to the `bundle` binary.
|
25
|
+
# @option opts [String] :rspec The path to the `rspec` binary.
|
22
26
|
# @option opts [Hash] :format Format options for rspec where the key is the format (documentation, json, etc)
|
23
27
|
# and the value is the out-file path. If you do not want to save the results of a format to a file, the
|
24
28
|
# value should be `nil`.
|
@@ -30,56 +34,97 @@ module CemAcpt
|
|
30
34
|
# Default is `true`.
|
31
35
|
# @option opts [Boolean] :bundle_install Whether or not to run `bundle install` before the RSpec command
|
32
36
|
# if `use_bundler` is `true`.
|
33
|
-
# @option opts [Boolean] :use_shell Whether or not to add `$SHELL` as a prefix to the command
|
34
37
|
# @option opts [Hash] :env Environment variables to prepend to the command
|
35
|
-
def initialize(opts
|
36
|
-
@
|
37
|
-
@
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
38
|
+
def initialize(config, **opts)
|
39
|
+
@config = config
|
40
|
+
@opts = opts
|
41
|
+
define_option_instance_vars
|
42
|
+
end
|
43
|
+
|
44
|
+
# Finds and sets the paths to the `bundle` and `rspec` binaries. The paths can
|
45
|
+
# be either passed in as options in the `opts` Hash or interrogated from the
|
46
|
+
# system.
|
47
|
+
# @raise [CemAcpt::RSpecUtils::BundlerNotFoundError] if `@use_bundler` is true and
|
48
|
+
# `bundle` binary is not found.
|
49
|
+
# @raise [CemAcpt::RSpecUtils::RSpecNotFoundError] if `rspec` binary is not found.
|
50
|
+
def resolve_bin_paths
|
51
|
+
%i[bundle rspec].each do |bin|
|
52
|
+
bin_path = instance_variable_get("@#{bin}") || `#{ENV['SHELL']} -c 'command -v #{bin}'`.strip
|
53
|
+
bin_not_found(bin, bin_path) unless bin_path && File.exist?(bin_path)
|
54
|
+
instance_variable_set("@#{bin}", bin_path)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Detects if the current Ruby context is JRuby
|
59
|
+
def jruby?
|
60
|
+
Object.const_defined?('JRUBY_VERSION')
|
45
61
|
end
|
46
62
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
63
|
+
private
|
64
|
+
|
65
|
+
def defaults
|
66
|
+
@defaults ||= { use_bundler: false,
|
67
|
+
bundle_install: false,
|
68
|
+
format: { documentation: nil },
|
69
|
+
debug: false,
|
70
|
+
quiet: false,
|
71
|
+
env: {} }
|
72
|
+
end
|
73
|
+
|
74
|
+
def define_option_instance_vars
|
75
|
+
OPTIONS.each do |o|
|
76
|
+
val = @config.get("rspec.#{o}") || @opts[o] || defaults[o] || nil
|
77
|
+
instance_variable_set("@#{o}", val)
|
53
78
|
end
|
54
79
|
end
|
55
80
|
|
56
|
-
#
|
57
|
-
|
58
|
-
|
81
|
+
# Handles binary paths which are not found
|
82
|
+
# @param bin [Symbol] The binary that was not found, either :bundle or :rspec.
|
83
|
+
# @param bin_path [String] The path to the binary that was checked.
|
84
|
+
# @raise [CemAcpt::RSpecUtils::BundlerNotFoundError] if `@use_bundler` is true and
|
85
|
+
# `bundle` binary is not found.
|
86
|
+
# @raise [CemAcpt::RSpecUtils::RSpecNotFoundError] if `rspec` binary is not found.
|
87
|
+
# @raise [RuntimeError] if `bin` is not :bundle or :rspec.
|
88
|
+
def bin_not_found(bin, bin_path)
|
89
|
+
msg_base = "#{bin} not found."
|
90
|
+
msg = bin_path.nil? ? "#{msg_base} Path is nil." : "#{msg_base} Path: #{bin_path}"
|
91
|
+
case bin
|
92
|
+
when :bundle
|
93
|
+
raise BundlerNotFoundError, msg if opts.use_bundler
|
94
|
+
when :rspec
|
95
|
+
raise RSpecNotFoundError, msg
|
96
|
+
else
|
97
|
+
raise "bin #{bin} not recognized!"
|
98
|
+
end
|
59
99
|
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# Holds and formats a RSpec command
|
103
|
+
class Command
|
104
|
+
include CemAcpt::LoggingAsync
|
105
|
+
attr_reader :opts, :pty_pid
|
106
|
+
|
107
|
+
def initialize(opts = Options.new)
|
108
|
+
raise 'opts must be instance of CemAcpt::RSpecUtils::Options' unless opts.is_a?(CemAcpt::RSpecUtils::Options)
|
60
109
|
|
61
|
-
|
62
|
-
@
|
110
|
+
@opts = opts
|
111
|
+
@opts.resolve_bin_paths
|
112
|
+
@opts.env = @opts.env.merge({ 'RSPEC_DEBUG' => 'true' }) if @opts.debug
|
113
|
+
@pty_pid = nil
|
63
114
|
end
|
64
115
|
|
65
116
|
# Adds a new format to the RSpec command
|
66
117
|
# @param fmt [String] The name of the format (i.e. "documentation", "json", etc.)
|
67
118
|
# @param out [String] If specified, saves the specified format to a file at this path
|
68
119
|
def with_format(fmt, out: nil)
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
# Environment variables that will be used for the RSpec command
|
73
|
-
# @return [Hash] A Hash of environment variables with each key pair being: <var name> => <var value>
|
74
|
-
def env
|
75
|
-
@debug ? @env.merge({ 'RSPEC_DEBUG' => 'true' }) : @env
|
120
|
+
opts.format[fmt.to_sym] = out
|
76
121
|
end
|
77
122
|
|
78
123
|
# Returns an array representation of the RSpec command
|
79
124
|
def to_a
|
80
125
|
cmd = cmd_base.dup
|
81
|
-
cmd << test_path if test_path
|
82
|
-
format.each do |fmt, out|
|
126
|
+
cmd << opts.test_path if opts.test_path
|
127
|
+
opts.format.each do |fmt, out|
|
83
128
|
cmd += ['--format', fmt.to_s.shellescape]
|
84
129
|
cmd += ['--out', out.to_s.shellescape] if out
|
85
130
|
end
|
@@ -112,12 +157,12 @@ module CemAcpt
|
|
112
157
|
# @return [Integer] The exit code of the RSpec command
|
113
158
|
def execute_pty(log_prefix: 'RSPEC')
|
114
159
|
async_debug("Executing RSpec command '#{self}' in PTY...", log_prefix)
|
115
|
-
PTY.spawn(env, ENV['SHELL']) do |r, w, pid|
|
160
|
+
PTY.spawn(opts.env, ENV['SHELL']) do |r, w, pid|
|
116
161
|
@pty_pid = pid
|
117
162
|
async_debug("Spawned RSpec PTY with PID #{@pty_pid}", log_prefix)
|
118
163
|
export_envs(w)
|
119
164
|
w.puts "#{self}; exit $?"
|
120
|
-
|
165
|
+
handle_io(r, log_prefix: log_prefix)
|
121
166
|
end
|
122
167
|
$CHILD_STATUS
|
123
168
|
end
|
@@ -130,9 +175,9 @@ module CemAcpt
|
|
130
175
|
def execute_no_pty(log_prefix: 'RSPEC')
|
131
176
|
async_info("Executing RSpec command '#{self}' with Open3.popen2e()...", log_prefix)
|
132
177
|
exit_status = nil
|
133
|
-
Open3.popen2e(env, to_s) do |stdin, std_out_err, wait_thr|
|
178
|
+
Open3.popen2e(opts.env, to_s) do |stdin, std_out_err, wait_thr|
|
134
179
|
stdin.close
|
135
|
-
|
180
|
+
handle_io(std_out_err, log_prefix: log_prefix)
|
136
181
|
exit_status = wait_thr.value
|
137
182
|
end
|
138
183
|
exit_status
|
@@ -147,26 +192,21 @@ module CemAcpt
|
|
147
192
|
|
148
193
|
private
|
149
194
|
|
150
|
-
# Detects if the current Ruby context is JRuby
|
151
|
-
def jruby?
|
152
|
-
File.basename(RbConfig.ruby) == 'jruby'
|
153
|
-
end
|
154
|
-
|
155
195
|
# The base RSpec command
|
156
196
|
def cmd_base
|
157
|
-
use_bundler ? cmd_base_bundler : cmd_base_rspec
|
197
|
+
opts.use_bundler ? cmd_base_bundler : cmd_base_rspec
|
158
198
|
end
|
159
199
|
|
160
200
|
# The base RSpec command if `:use_bundler` is `true`.
|
161
201
|
def cmd_base_bundler
|
162
|
-
base = [
|
163
|
-
base.unshift("#{
|
202
|
+
base = [opts.bundle, 'exec', 'rspec']
|
203
|
+
base.unshift("#{opts.bundle} install;") if opts.bundle_install
|
164
204
|
base
|
165
205
|
end
|
166
206
|
|
167
207
|
# The base RSpec command if `:use_bundler` is `false`
|
168
208
|
def cmd_base_rspec
|
169
|
-
[
|
209
|
+
[opts.rspec]
|
170
210
|
end
|
171
211
|
|
172
212
|
# Puts export statements for each key-value pair in `env` to the given writer.
|
@@ -174,46 +214,14 @@ module CemAcpt
|
|
174
214
|
# pass the statements to a shell.
|
175
215
|
# @param writer [IO] An IO object that supprts `puts` and can send statements to a shell
|
176
216
|
def export_envs(writer)
|
177
|
-
env.each do |key, val|
|
217
|
+
@opts.env.each do |key, val|
|
178
218
|
writer.puts "export #{key}=#{val}"
|
179
219
|
end
|
180
220
|
end
|
181
221
|
|
182
|
-
#
|
183
|
-
|
184
|
-
|
185
|
-
# @param opts [Hash] The options hash
|
186
|
-
# @option opts [String] :bundle An absolute path on the system to the `bundle` binary.
|
187
|
-
# @option opts [String] :rspec An absolute path on the system to the `rspec` binary.
|
188
|
-
# @raise [CemAcpt::RSpecUtils::BundlerNotFoundError] if `@use_bundler` is true and
|
189
|
-
# `bundle` binary is not found.
|
190
|
-
# @raise [CemAcpt::RSpecUtils::RSpecNotFoundError] if `rspec` binary is not found.
|
191
|
-
def validate_and_set_bin_paths(opts = {})
|
192
|
-
%i[bundle rspec].each do |bin|
|
193
|
-
bin_path = opts[bin] || `command -v #{bin}`.strip
|
194
|
-
bin_not_found(bin, bin_path) unless bin_path && File.exist?(bin_path)
|
195
|
-
instance_variable_set("@#{bin}", bin_path)
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
# Handles binary paths which are not found
|
200
|
-
# @param bin [Symbol] The binary that was not found, either :bundle or :rspec.
|
201
|
-
# @param bin_path [String] The path to the binary that was checked.
|
202
|
-
# @raise [CemAcpt::RSpecUtils::BundlerNotFoundError] if `@use_bundler` is true and
|
203
|
-
# `bundle` binary is not found.
|
204
|
-
# @raise [CemAcpt::RSpecUtils::RSpecNotFoundError] if `rspec` binary is not found.
|
205
|
-
# @raise [RuntimeError] if `bin` is not :bundle or :rspec.
|
206
|
-
def bin_not_found(bin, bin_path)
|
207
|
-
msg_base = "#{bin} not found."
|
208
|
-
msg = bin_path.nil? ? "#{msg_base} Path is nil." : "#{msg_base} Path: #{bin_path}"
|
209
|
-
case bin
|
210
|
-
when :bundle
|
211
|
-
raise BundlerNotFoundError, msg if @use_bundler
|
212
|
-
when :rspec
|
213
|
-
raise RSpecNotFoundError, msg
|
214
|
-
else
|
215
|
-
raise "bin #{bin} not recognized!"
|
216
|
-
end
|
222
|
+
# Handles IO output
|
223
|
+
def handle_io(io_stream, **kwargs)
|
224
|
+
opts.quiet ? wait_io(io_stream) : read_io(io_stream, log_prefix: kwargs[:log_prefix])
|
217
225
|
end
|
218
226
|
|
219
227
|
# Blocking wait on an IO stream. Wait stops once the IO stream has reached
|
@@ -9,6 +9,7 @@ require_relative 'runner_result'
|
|
9
9
|
module CemAcpt
|
10
10
|
module TestRunner
|
11
11
|
class RunnerError < StandardError; end
|
12
|
+
|
12
13
|
# Error used to wrap fatal errors raised in Runner steps
|
13
14
|
class RunnerStepError < StandardError
|
14
15
|
attr_reader :step
|
@@ -19,6 +20,7 @@ module CemAcpt
|
|
19
20
|
set_backtrace err.backtrace if err.respond_to?(:backtrace)
|
20
21
|
end
|
21
22
|
end
|
23
|
+
|
22
24
|
class RunnerProvisionError < RunnerStepError; end
|
23
25
|
|
24
26
|
# Runner is a class that runs a single acceptance test suite on a single node.
|
@@ -143,12 +145,12 @@ module CemAcpt
|
|
143
145
|
async_info("Running test #{@node.test_data[:test_name]} on node #{@node.node_name}...", log_prefix('RSPEC'))
|
144
146
|
@node.run_tests do |cmd_env|
|
145
147
|
cmd_opts = rspec_opts
|
146
|
-
cmd_opts
|
148
|
+
cmd_opts.env = cmd_opts.env.merge(cmd_env) if cmd_env
|
147
149
|
# Documentation format gets logged in real time, JSON file is read after the fact
|
148
150
|
begin
|
149
151
|
@rspec_cmd = CemAcpt::RSpecUtils::Command.new(cmd_opts)
|
150
|
-
@rspec_cmd.execute(log_prefix: log_prefix('RSPEC'))
|
151
|
-
@run_result.from_json_file(cmd_opts
|
152
|
+
@rspec_cmd.execute(pty: false, log_prefix: log_prefix('RSPEC'))
|
153
|
+
@run_result.from_json_file(cmd_opts.format[:json])
|
152
154
|
rescue Errno::EIO => e
|
153
155
|
async_error("failed to run rspec: #{@node.test_data[:test_name]}: #{$ERROR_INFO}", log_prefix('RSPEC'))
|
154
156
|
@run_result.from_error(e)
|
@@ -189,21 +191,21 @@ module CemAcpt
|
|
189
191
|
|
190
192
|
# Options used with RSpec
|
191
193
|
def rspec_opts
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
194
|
+
opts_test_path = @node.test_data[:test_file]
|
195
|
+
opts_env = { 'TARGET_HOST' => @node.node_name }
|
196
|
+
opts_debug = (@debug_mode && @context.config.get('verbose'))
|
197
|
+
opts_quiet = @context.config.get('quiet')
|
198
|
+
opts_format = if @context.config.get('verbose')
|
199
|
+
{ json: "results_#{@node.test_data[:test_name]}.json", documentation: nil }
|
200
|
+
else
|
201
|
+
{ json: "results_#{@node.test_data[:test_name]}.json" }
|
202
|
+
end
|
203
|
+
CemAcpt::RSpecUtils::Options.new(@context.config,
|
204
|
+
test_path: opts_test_path,
|
205
|
+
env: opts_env,
|
206
|
+
debug: opts_debug,
|
207
|
+
quiet: opts_quiet,
|
208
|
+
format: opts_format)
|
207
209
|
end
|
208
210
|
end
|
209
211
|
end
|
data/lib/cem_acpt/version.rb
CHANGED
metadata
CHANGED
@@ -1,57 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cem_acpt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: universal-java-17
|
6
6
|
authors:
|
7
7
|
- puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-06-
|
11
|
+
date: 2022-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - "
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '1.1'
|
19
|
+
- - "<"
|
17
20
|
- !ruby/object:Gem::Version
|
18
|
-
version:
|
21
|
+
version: '2.0'
|
19
22
|
name: concurrent-ruby
|
20
23
|
prerelease: false
|
21
24
|
type: :runtime
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.1'
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: '2.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
requirement: !ruby/object:Gem::Requirement
|
29
35
|
requirements:
|
30
|
-
- - "
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '1.2'
|
39
|
+
- - "<"
|
31
40
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
41
|
+
version: '2.0'
|
33
42
|
name: deep_merge
|
34
43
|
prerelease: false
|
35
44
|
type: :runtime
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
|
-
- - "
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 1.2.2
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
requirement: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
47
|
+
- - ">="
|
45
48
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
47
|
-
|
48
|
-
prerelease: false
|
49
|
-
type: :runtime
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
49
|
+
version: '1.2'
|
50
|
+
- - "<"
|
53
51
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
52
|
+
version: '2.0'
|
55
53
|
- !ruby/object:Gem::Dependency
|
56
54
|
requirement: !ruby/object:Gem::Requirement
|
57
55
|
requirements:
|
@@ -72,48 +70,40 @@ dependencies:
|
|
72
70
|
- - "<"
|
73
71
|
- !ruby/object:Gem::Version
|
74
72
|
version: '2.0'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
requirement: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - ">"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 0.0.1
|
81
|
-
name: puppet-modulebuilder
|
82
|
-
prerelease: false
|
83
|
-
type: :runtime
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - ">"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: 0.0.1
|
89
73
|
- !ruby/object:Gem::Dependency
|
90
74
|
requirement: !ruby/object:Gem::Requirement
|
91
75
|
requirements:
|
92
76
|
- - ">="
|
93
77
|
- !ruby/object:Gem::Version
|
94
|
-
version: '0'
|
95
|
-
|
78
|
+
version: '7.0'
|
79
|
+
- - "<"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '8.0'
|
82
|
+
name: net-ssh
|
96
83
|
prerelease: false
|
97
84
|
type: :runtime
|
98
85
|
version_requirements: !ruby/object:Gem::Requirement
|
99
86
|
requirements:
|
100
87
|
- - ">="
|
101
88
|
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
89
|
+
version: '7.0'
|
90
|
+
- - "<"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '8.0'
|
103
93
|
- !ruby/object:Gem::Dependency
|
104
94
|
requirement: !ruby/object:Gem::Requirement
|
105
95
|
requirements:
|
106
96
|
- - ">="
|
107
97
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
109
|
-
name:
|
98
|
+
version: 0.0.1
|
99
|
+
name: puppet-modulebuilder
|
110
100
|
prerelease: false
|
111
101
|
type: :runtime
|
112
102
|
version_requirements: !ruby/object:Gem::Requirement
|
113
103
|
requirements:
|
114
104
|
- - ">="
|
115
105
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
106
|
+
version: 0.0.1
|
117
107
|
- !ruby/object:Gem::Dependency
|
118
108
|
requirement: !ruby/object:Gem::Requirement
|
119
109
|
requirements:
|