inspec-core 4.23.15 → 4.25.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +21 -35
- data/inspec-core.gemspec +8 -9
- data/lib/bundles/inspec-supermarket/api.rb +2 -2
- data/lib/bundles/inspec-supermarket/target.rb +1 -1
- data/lib/inspec/archive/tar.rb +1 -1
- data/lib/inspec/archive/zip.rb +3 -3
- data/lib/inspec/base_cli.rb +2 -2
- data/lib/inspec/cached_fetcher.rb +1 -1
- data/lib/inspec/cli.rb +1 -1
- data/lib/inspec/config.rb +5 -5
- data/lib/inspec/dependencies/cache.rb +1 -1
- data/lib/inspec/env_printer.rb +2 -2
- data/lib/inspec/fetcher/git.rb +3 -3
- data/lib/inspec/fetcher/local.rb +1 -1
- data/lib/inspec/fetcher/url.rb +4 -4
- data/lib/inspec/file_provider.rb +4 -4
- data/lib/inspec/formatters/base.rb +16 -0
- data/lib/inspec/globals.rb +8 -2
- data/lib/inspec/input.rb +3 -0
- data/lib/inspec/input_registry.rb +5 -3
- data/lib/inspec/metadata.rb +1 -1
- data/lib/inspec/plugin/v1/plugins.rb +2 -2
- data/lib/inspec/plugin/v2.rb +5 -0
- data/lib/inspec/plugin/v2/config_file.rb +1 -1
- data/lib/inspec/plugin/v2/filter.rb +2 -2
- data/lib/inspec/plugin/v2/installer.rb +5 -5
- data/lib/inspec/plugin/v2/loader.rb +6 -1
- data/lib/inspec/plugin/v2/registry.rb +2 -2
- data/lib/inspec/profile.rb +3 -3
- data/lib/inspec/profile_context.rb +1 -1
- data/lib/inspec/reporters/automate.rb +2 -2
- data/lib/inspec/reporters/json.rb +3 -1
- data/lib/inspec/reporters/json_automate.rb +1 -1
- data/lib/inspec/resource.rb +2 -0
- data/lib/inspec/resources.rb +5 -5
- data/lib/inspec/resources/apt.rb +1 -1
- data/lib/inspec/resources/auditd.rb +1 -1
- data/lib/inspec/resources/csv.rb +1 -1
- data/lib/inspec/resources/dh_params.rb +1 -1
- data/lib/inspec/resources/file.rb +1 -1
- data/lib/inspec/resources/grub_conf.rb +2 -1
- data/lib/inspec/resources/http.rb +1 -1
- data/lib/inspec/resources/iis_website.rb +1 -1
- data/lib/inspec/resources/interfaces.rb +1 -1
- data/lib/inspec/resources/json.rb +2 -2
- data/lib/inspec/resources/key_rsa.rb +1 -1
- data/lib/inspec/resources/mssql_session.rb +5 -1
- data/lib/inspec/resources/mysql_session.rb +1 -1
- data/lib/inspec/resources/nginx.rb +1 -1
- data/lib/inspec/resources/nginx_conf.rb +1 -1
- data/lib/inspec/resources/npm.rb +1 -1
- data/lib/inspec/resources/oracledb_session.rb +1 -1
- data/lib/inspec/resources/package.rb +1 -1
- data/lib/inspec/resources/parse_config.rb +5 -2
- data/lib/inspec/resources/platform.rb +11 -1
- data/lib/inspec/resources/port.rb +1 -1
- data/lib/inspec/resources/postgres_session.rb +1 -1
- data/lib/inspec/resources/ppa.rb +1 -1
- data/lib/inspec/resources/processes.rb +1 -1
- data/lib/inspec/resources/rabbitmq_conf.rb +1 -1
- data/lib/inspec/resources/registry_key.rb +1 -1
- data/lib/inspec/resources/ssh_config.rb +24 -2
- data/lib/inspec/resources/sshd_config.rb +1 -1
- data/lib/inspec/resources/ssl.rb +2 -2
- data/lib/inspec/resources/toml.rb +1 -1
- data/lib/inspec/resources/vbscript.rb +1 -1
- data/lib/inspec/resources/windows_registry_key.rb +1 -1
- data/lib/inspec/resources/wmi.rb +16 -8
- data/lib/inspec/resources/x509_certificate.rb +1 -1
- data/lib/inspec/resources/xml.rb +1 -1
- data/lib/inspec/run_data.rb +1 -1
- data/lib/inspec/run_data/result.rb +2 -0
- data/lib/inspec/runner.rb +2 -2
- data/lib/inspec/schema.rb +3 -1
- data/lib/inspec/schema/output_schema.rb +1 -1
- data/lib/inspec/schema/primitives.rb +1 -1
- data/lib/inspec/shell_detector.rb +2 -2
- data/lib/inspec/utils/command_wrapper.rb +1 -1
- data/lib/inspec/utils/deprecation/config_file.rb +2 -2
- data/lib/inspec/utils/json_log.rb +1 -1
- data/lib/inspec/utils/run_data_filters.rb +7 -5
- data/lib/inspec/utils/telemetry/collector.rb +1 -1
- data/lib/inspec/utils/telemetry/data_series.rb +1 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +5 -5
- data/lib/plugins/inspec-compliance/README.md +1 -1
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +3 -3
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +2 -2
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +2 -2
- data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +3 -3
- data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +2 -2
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +3 -3
- data/lib/plugins/inspec-reporter-html2/lib/inspec-reporter-html2/reporter.rb +1 -1
- data/lib/plugins/inspec-reporter-json-min/lib/inspec-reporter-json-min/reporter.rb +1 -1
- data/lib/plugins/inspec-reporter-junit/lib/inspec-reporter-junit/reporter.rb +1 -1
- data/lib/plugins/shared/core_plugin_test_helper.rb +6 -6
- metadata +47 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4db76b09c46f02e91dca61f334693d773d0c0c470104ef8d28b89a443b1b6c55
|
4
|
+
data.tar.gz: 9834a18148bf8f2851f7a030e3766b3932f6592e7a3fdfb5a354daf7c8cdfff1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c8330268f60a8b8d895e33ee3fb75b3076b81be5c3e8816250ad8775ea00d76332796181aba8da27c15c251c0b6ce8379279c693158c969bbe1003e0985bd7a
|
7
|
+
data.tar.gz: 3e6e5096e98c3198a650bfa4c6f88a66db84fdbf366d451bae21e38a1e430e0cb77b9d1ebe5a85d03c354390e8eb884bddb586ef28d5ece4d9a57d7830838bb9
|
data/Gemfile
CHANGED
@@ -9,7 +9,16 @@ gem "inspec", path: "."
|
|
9
9
|
# in it in order to package the executable. Hence the odd backwards dependency.
|
10
10
|
gem "inspec-bin", path: "./inspec-bin"
|
11
11
|
|
12
|
-
gem "ffi", ">= 1.9.14", "!= 1.13.0"
|
12
|
+
gem "ffi", ">= 1.9.14", "!= 1.13.0", "!= 1.14.2"
|
13
|
+
|
14
|
+
if Gem.ruby_version.to_s.start_with?("2.5")
|
15
|
+
# 16.7.23 required ruby 2.6+
|
16
|
+
gem "chef-utils", "< 16.7.23" # TODO: remove when we drop ruby 2.5
|
17
|
+
end
|
18
|
+
|
19
|
+
# inspec tests depend text output that changed in the 3.10 release
|
20
|
+
# but our runtime dep is still 3.9+
|
21
|
+
gem "rspec", ">= 3.10"
|
13
22
|
|
14
23
|
group :omnibus do
|
15
24
|
gem "rb-readline"
|
@@ -19,46 +28,23 @@ group :omnibus do
|
|
19
28
|
end
|
20
29
|
|
21
30
|
group :test do
|
22
|
-
gem "chefstyle", "~> 1.
|
23
|
-
gem "minitest", "~> 5.5"
|
24
|
-
gem "minitest-sprint", "~> 1.0"
|
25
|
-
gem "rake", ">= 10"
|
26
|
-
gem "simplecov", ["~> 0.10", "<=0.18.2"]
|
31
|
+
gem "chefstyle", "~> 1.5.7"
|
27
32
|
gem "concurrent-ruby", "~> 1.0"
|
28
|
-
gem "
|
33
|
+
gem "html-proofer", platforms: :ruby # do not attempt to run proofer on windows
|
34
|
+
gem "json_schemer", ">= 0.2.1", "< 0.2.18"
|
35
|
+
gem "m"
|
36
|
+
gem "minitest-sprint", "~> 1.0"
|
37
|
+
gem "minitest", "~> 5.5"
|
29
38
|
gem "mocha", "~> 1.1"
|
39
|
+
gem "nokogiri", "~> 1.9"
|
40
|
+
gem "pry-byebug"
|
41
|
+
gem "pry", "~> 0.10"
|
42
|
+
gem "rake", ">= 10"
|
30
43
|
gem "ruby-progressbar", "~> 1.8"
|
44
|
+
gem "simplecov", "~> 0.18"
|
31
45
|
gem "webmock", "~> 3.0"
|
32
|
-
gem "m"
|
33
|
-
gem "pry", "~> 0.10"
|
34
|
-
gem "pry-byebug"
|
35
|
-
gem "html-proofer", platforms: :ruby # do not attempt to run proofer on windows
|
36
|
-
end
|
37
|
-
|
38
|
-
group :integration do
|
39
|
-
gem "berkshelf"
|
40
|
-
gem "test-kitchen"
|
41
|
-
gem "kitchen-vagrant"
|
42
|
-
gem "chef", "< 15"
|
43
|
-
gem "chef-zero", "< 15"
|
44
|
-
gem "kitchen-inspec"
|
45
|
-
gem "kitchen-ec2"
|
46
|
-
gem "kitchen-dokken"
|
47
|
-
gem "git"
|
48
|
-
end
|
49
|
-
|
50
|
-
# gems for Maintainers.md generation
|
51
|
-
group :maintenance do
|
52
|
-
gem "tomlrb"
|
53
|
-
|
54
|
-
# To sync maintainers with github
|
55
|
-
gem "octokit"
|
56
|
-
gem "netrc"
|
57
46
|
end
|
58
47
|
|
59
48
|
group :deploy do
|
60
49
|
gem "inquirer"
|
61
50
|
end
|
62
|
-
|
63
|
-
# add these additional dependencies into Gemfile.local
|
64
|
-
eval_gemfile(__FILE__ + ".local") if File.exist?(__FILE__ + ".local")
|
data/inspec-core.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lib = File.expand_path("
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
3
|
require "inspec/version"
|
4
4
|
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.license = "Apache-2.0"
|
14
14
|
spec.require_paths = ["lib"]
|
15
15
|
|
16
|
-
spec.required_ruby_version = "
|
16
|
+
spec.required_ruby_version = ">= 2.5"
|
17
17
|
|
18
18
|
# the gemfile and gemspec are necessary for appbundler so don't remove it
|
19
19
|
spec.files =
|
@@ -26,22 +26,21 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_dependency "chef-telemetry", "~> 1.0"
|
27
27
|
spec.add_dependency "license-acceptance", ">= 0.2.13", "< 3.0"
|
28
28
|
spec.add_dependency "thor", ">= 0.20", "< 2.0"
|
29
|
-
spec.add_dependency "json_schemer", ">= 0.2.1", "< 0.2.12"
|
30
29
|
spec.add_dependency "method_source", ">= 0.8", "< 2.0"
|
31
|
-
spec.add_dependency "rubyzip", "
|
32
|
-
spec.add_dependency "rspec", "
|
30
|
+
spec.add_dependency "rubyzip", ">= 1.2.2", "< 3.0"
|
31
|
+
spec.add_dependency "rspec", ">= 3.9", "< 3.11"
|
33
32
|
spec.add_dependency "rspec-its", "~> 1.2"
|
34
33
|
spec.add_dependency "pry", "~> 0.13"
|
35
|
-
spec.add_dependency "hashie", "
|
34
|
+
spec.add_dependency "hashie", ">= 3.4", "< 5.0"
|
36
35
|
spec.add_dependency "mixlib-log", "~> 3.0"
|
37
36
|
spec.add_dependency "sslshake", "~> 1.2"
|
38
37
|
spec.add_dependency "parallel", "~> 1.9"
|
39
|
-
spec.add_dependency "faraday", ">= 0.9.0", "< 1.
|
38
|
+
spec.add_dependency "faraday", ">= 0.9.0", "< 1.4"
|
40
39
|
spec.add_dependency "tty-table", "~> 0.10"
|
41
40
|
spec.add_dependency "tty-prompt", "~> 0.17"
|
42
|
-
spec.add_dependency "tomlrb", "
|
41
|
+
spec.add_dependency "tomlrb", ">= 1.2", "< 2.1"
|
43
42
|
spec.add_dependency "addressable", "~> 2.4"
|
44
|
-
spec.add_dependency "parslet", "
|
43
|
+
spec.add_dependency "parslet", ">= 1.5", "< 3.0"
|
45
44
|
spec.add_dependency "semverse", "~> 3.0"
|
46
45
|
spec.add_dependency "multipart-post", "~> 2.0"
|
47
46
|
|
data/lib/inspec/archive/tar.rb
CHANGED
data/lib/inspec/archive/zip.rb
CHANGED
data/lib/inspec/base_cli.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require "thor"
|
1
|
+
require "thor" # rubocop:disable Chef/Ruby/UnlessDefinedRequire
|
2
2
|
require "inspec/log"
|
3
3
|
require "inspec/ui"
|
4
4
|
require "inspec/config"
|
@@ -136,7 +136,7 @@ module Inspec
|
|
136
136
|
banner: "one two:/output/file/path",
|
137
137
|
desc: "Enable one or more output reporters: cli, documentation, html, progress, json, json-min, json-rspec, junit, yaml"
|
138
138
|
option :reporter_message_truncation, type: :string,
|
139
|
-
desc: "Number of characters to truncate failure messages in report data to (default: no truncation)"
|
139
|
+
desc: "Number of characters to truncate failure messages and code_desc in report data to (default: no truncation)"
|
140
140
|
option :reporter_backtrace_inclusion, type: :boolean,
|
141
141
|
desc: "Include a code backtrace in report data (default: true)"
|
142
142
|
option :input, type: :array, banner: "name1=value1 name2=value2",
|
data/lib/inspec/cli.rb
CHANGED
data/lib/inspec/config.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# Represents InSpec configuration. Merges defaults, config file options,
|
2
2
|
# and CLI arguments.
|
3
3
|
|
4
|
-
require "pp"
|
5
|
-
require "stringio"
|
6
|
-
require "forwardable"
|
7
|
-
require "thor"
|
8
|
-
require "base64"
|
4
|
+
require "pp" unless defined?(PP)
|
5
|
+
require "stringio" unless defined?(StringIO)
|
6
|
+
require "forwardable" unless defined?(Forwardable)
|
7
|
+
require "thor" unless defined?(Thor)
|
8
|
+
require "base64" unless defined?(Base64)
|
9
9
|
require "inspec/plugin/v2/filter"
|
10
10
|
|
11
11
|
module Inspec
|
data/lib/inspec/env_printer.rb
CHANGED
data/lib/inspec/fetcher/git.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require "tmpdir"
|
2
|
-
require "fileutils"
|
3
|
-
require "mixlib/shellout"
|
1
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
2
|
+
require "fileutils" unless defined?(FileUtils)
|
3
|
+
require "mixlib/shellout" unless defined?(Mixlib::ShellOut)
|
4
4
|
require "inspec/log"
|
5
5
|
|
6
6
|
module Inspec::Fetcher
|
data/lib/inspec/fetcher/local.rb
CHANGED
data/lib/inspec/fetcher/url.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require "uri"
|
2
|
-
require "openssl"
|
3
|
-
require "tempfile"
|
4
|
-
require "open-uri"
|
1
|
+
require "uri" unless defined?(URI)
|
2
|
+
require "openssl" unless defined?(OpenSSL)
|
3
|
+
require "tempfile" unless defined?(Tempfile)
|
4
|
+
require "open-uri" unless defined?(OpenURI)
|
5
5
|
|
6
6
|
module Inspec::Fetcher
|
7
7
|
class Url < Inspec.fetcher(1)
|
data/lib/inspec/file_provider.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require "rubygems/package"
|
2
|
-
require "pathname"
|
3
|
-
require "zlib"
|
4
|
-
require "zip"
|
1
|
+
require "rubygems/package" unless defined?(Gem::Package)
|
2
|
+
require "pathname" unless defined?(Pathname)
|
3
|
+
require "zlib" unless defined?(Zlib)
|
4
|
+
require "zip" unless defined?(Zip)
|
5
5
|
|
6
6
|
module Inspec
|
7
7
|
class FileProvider
|
@@ -159,6 +159,14 @@ module Inspec::Formatters
|
|
159
159
|
resource_title: example.metadata[:described_class] || example.metadata[:example_group][:description],
|
160
160
|
expectation_message: format_expectation_message(example),
|
161
161
|
waiver_data: example.metadata[:waiver_data],
|
162
|
+
# This enforces the resource name as expected based off of the class
|
163
|
+
# name. However, if we wanted the `name` attribute against the class
|
164
|
+
# to be canonical for this case (consider edge cases!) we would use
|
165
|
+
# example.metadata[:described_class].instance_variable_get(:@__resource_name__)&.to_s
|
166
|
+
resource_class: example.metadata[:described_class].class.superclass.name,
|
167
|
+
# This is a raw grep of the text passed to the resource in any format,
|
168
|
+
# and is used to enforce near-uniqueness against the resource.
|
169
|
+
resource_params: find_resource_params(example.metadata[:described_class]),
|
162
170
|
}
|
163
171
|
|
164
172
|
unless (pid = example.metadata[:profile_id]).nil?
|
@@ -174,6 +182,14 @@ module Inspec::Formatters
|
|
174
182
|
res
|
175
183
|
end
|
176
184
|
|
185
|
+
def find_resource_params(example)
|
186
|
+
if example.class.ancestors.include?(Inspec::Resource)
|
187
|
+
example.instance_variable_get(:@resource_params)
|
188
|
+
else
|
189
|
+
[]
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
177
193
|
def format_expectation_message(example)
|
178
194
|
if (example.metadata[:example_group][:description_args].first == example.metadata[:example_group][:described_class]) ||
|
179
195
|
example.metadata[:example_group][:described_class].nil?
|
data/lib/inspec/globals.rb
CHANGED
@@ -1,15 +1,21 @@
|
|
1
1
|
require_relative "utils/install_context"
|
2
2
|
|
3
3
|
module Inspec
|
4
|
-
|
5
4
|
extend Inspec::InstallContextHelpers
|
6
5
|
|
7
6
|
def self.config_dir
|
8
|
-
ENV["INSPEC_CONFIG_DIR"]
|
7
|
+
ENV["INSPEC_CONFIG_DIR"] || File.join(home_path, ".inspec")
|
9
8
|
end
|
10
9
|
|
11
10
|
def self.src_root
|
12
11
|
@src_root ||= File.expand_path(File.join(__FILE__, "../../.."))
|
13
12
|
end
|
14
13
|
|
14
|
+
def self.home_path
|
15
|
+
Dir.home
|
16
|
+
rescue ArgumentError, NoMethodError
|
17
|
+
# If ENV['HOME'] is not set, Dir.home will fail due to expanding the ~. Fallback to Etc.
|
18
|
+
require "etc" unless defined?(Etc)
|
19
|
+
Etc.getpwuid.dir
|
20
|
+
end
|
15
21
|
end
|
data/lib/inspec/input.rb
CHANGED
@@ -14,14 +14,17 @@ module Inspec
|
|
14
14
|
class Input
|
15
15
|
|
16
16
|
class Error < Inspec::Error; end
|
17
|
+
|
17
18
|
class ValidationError < Error
|
18
19
|
attr_accessor :input_name
|
19
20
|
attr_accessor :input_value
|
20
21
|
attr_accessor :input_type
|
21
22
|
end
|
23
|
+
|
22
24
|
class TypeError < Error
|
23
25
|
attr_accessor :input_type
|
24
26
|
end
|
27
|
+
|
25
28
|
class RequiredError < Error
|
26
29
|
attr_accessor :input_name
|
27
30
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require "forwardable"
|
2
|
-
require "singleton"
|
1
|
+
require "forwardable" unless defined?(Forwardable)
|
2
|
+
require "singleton" unless defined?(Singleton)
|
3
3
|
require "inspec/input"
|
4
4
|
require "inspec/secrets"
|
5
5
|
require "inspec/exceptions"
|
@@ -14,9 +14,11 @@ module Inspec
|
|
14
14
|
extend Forwardable
|
15
15
|
|
16
16
|
class Error < Inspec::Error; end
|
17
|
+
|
17
18
|
class ProfileLookupError < Error
|
18
19
|
attr_accessor :profile_name
|
19
20
|
end
|
21
|
+
|
20
22
|
class InputLookupError < Error
|
21
23
|
attr_accessor :profile_name
|
22
24
|
attr_accessor :input_name
|
@@ -199,7 +201,7 @@ module Inspec
|
|
199
201
|
value = YAML.load(value)
|
200
202
|
rescue Psych::SyntaxError => yaml_error
|
201
203
|
# It could be that we just tried to run JSON through the YAML parser.
|
202
|
-
require "json"
|
204
|
+
require "json" unless defined?(JSON)
|
203
205
|
begin
|
204
206
|
value = JSON.parse(value)
|
205
207
|
rescue JSON::ParserError => json_error
|
data/lib/inspec/metadata.rb
CHANGED
@@ -216,7 +216,7 @@ module Inspec
|
|
216
216
|
end
|
217
217
|
|
218
218
|
def self.from_yaml(ref, content, profile_id, logger = nil)
|
219
|
-
require "erb"
|
219
|
+
require "erb" unless defined?(Erb)
|
220
220
|
res = Metadata.new(ref, logger)
|
221
221
|
res.params = YAML.load(ERB.new(content).result)
|
222
222
|
res.content = content
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require "forwardable"
|
1
|
+
require "forwardable" unless defined?(Forwardable)
|
2
2
|
|
3
3
|
module Inspec
|
4
4
|
# Resource Plugins
|
@@ -36,7 +36,7 @@ module Inspec
|
|
36
36
|
.flatten
|
37
37
|
|
38
38
|
# load bundled plugins
|
39
|
-
bundled_dir =
|
39
|
+
bundled_dir = __dir__
|
40
40
|
@paths += Dir[File.join(bundled_dir, "..", "bundles", "inspec-*.rb")].flatten
|
41
41
|
|
42
42
|
# map paths to names
|
data/lib/inspec/plugin/v2.rb
CHANGED
@@ -6,17 +6,22 @@ module Inspec
|
|
6
6
|
class Exception < Inspec::Error; end
|
7
7
|
class ConfigError < Inspec::Plugin::V2::Exception; end
|
8
8
|
class LoadError < Inspec::Plugin::V2::Exception; end
|
9
|
+
|
9
10
|
class GemActionError < Inspec::Plugin::V2::Exception
|
10
11
|
attr_accessor :plugin_name
|
11
12
|
attr_accessor :version
|
12
13
|
end
|
14
|
+
|
13
15
|
class InstallError < Inspec::Plugin::V2::GemActionError; end
|
16
|
+
|
14
17
|
class PluginExcludedError < Inspec::Plugin::V2::InstallError
|
15
18
|
attr_accessor :details
|
16
19
|
end
|
20
|
+
|
17
21
|
class UpdateError < Inspec::Plugin::V2::GemActionError
|
18
22
|
attr_accessor :from_version, :to_version
|
19
23
|
end
|
24
|
+
|
20
25
|
class UnInstallError < Inspec::Plugin::V2::GemActionError; end
|
21
26
|
class SearchError < Inspec::Plugin::V2::GemActionError; end
|
22
27
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# This file is not required by default.
|
2
2
|
|
3
|
-
require "singleton"
|
4
|
-
require "forwardable"
|
5
|
-
require "fileutils"
|
6
|
-
require "uri"
|
3
|
+
require "singleton" unless defined?(Singleton)
|
4
|
+
require "forwardable" unless defined?(Forwardable)
|
5
|
+
require "fileutils" unless defined?(FileUtils)
|
6
|
+
require "uri" unless defined?(URI)
|
7
7
|
|
8
8
|
# Gem extensions for doing unusual things - not loaded by Gem default
|
9
|
-
require "rubygems/package"
|
9
|
+
require "rubygems/package" unless defined?(Gem::Package)
|
10
10
|
require "rubygems/name_tuple"
|
11
11
|
require "rubygems/uninstaller"
|
12
12
|
require "rubygems/remote_fetcher"
|