diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2019-05-20 18:05:36 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2019-05-20 18:05:36 -0700 |
commit | 9dbdb769bfd963f82eb4bfea53c83501d0193766 (patch) | |
tree | daba4babc4ba8eb73bd765783dc8a53a7abff6be /lib/chef/knife | |
parent | 248344cfe776b66a8da563c985e34d9c99967791 (diff) | |
download | chef-9dbdb769bfd963f82eb4bfea53c83501d0193766.tar.gz |
This hits the ones that are most frequently required.lcg/require-idempotency
Stops the kernel from scanning through all the activated gems every time in order
to resolve names into pathnames.
See rubygems/rubygems#2762
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'lib/chef/knife')
-rw-r--r-- | lib/chef/knife/bootstrap.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/bootstrap/client_builder.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/bootstrap/train_connector.rb | 6 | ||||
-rw-r--r-- | lib/chef/knife/config_use_profile.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/configure.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/cookbook_show.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/core/bootstrap_context.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/core/gem_glob_loader.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/core/generic_presenter.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/core/object_loader.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/core/ui.rb | 4 | ||||
-rw-r--r-- | lib/chef/knife/data_bag_secret_options.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/search.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/ssh.rb | 6 | ||||
-rw-r--r-- | lib/chef/knife/ssl_check.rb | 8 | ||||
-rw-r--r-- | lib/chef/knife/ssl_fetch.rb | 8 | ||||
-rw-r--r-- | lib/chef/knife/supermarket_download.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/supermarket_install.rb | 4 |
18 files changed, 30 insertions, 30 deletions
diff --git a/lib/chef/knife/bootstrap.rb b/lib/chef/knife/bootstrap.rb index 2a9eab6f8e..d65d9da396 100644 --- a/lib/chef/knife/bootstrap.rb +++ b/lib/chef/knife/bootstrap.rb @@ -395,7 +395,7 @@ class Chef attr_reader :connection deps do - require "erubis" + require "erubis" unless defined?(Erubis) require_relative "../json_compat" require_relative "../util/path_helper" diff --git a/lib/chef/knife/bootstrap/client_builder.rb b/lib/chef/knife/bootstrap/client_builder.rb index 1864297053..87dd03d6ed 100644 --- a/lib/chef/knife/bootstrap/client_builder.rb +++ b/lib/chef/knife/bootstrap/client_builder.rb @@ -20,7 +20,7 @@ require_relative "../../node" require_relative "../../server_api" require_relative "../../api_client/registration" require_relative "../../api_client" -require "tmpdir" +require "tmpdir" unless defined?(Dir.mktmpdir) class Chef class Knife diff --git a/lib/chef/knife/bootstrap/train_connector.rb b/lib/chef/knife/bootstrap/train_connector.rb index f1b4816049..af09a8c366 100644 --- a/lib/chef/knife/bootstrap/train_connector.rb +++ b/lib/chef/knife/bootstrap/train_connector.rb @@ -16,8 +16,8 @@ # require "train" -require "tempfile" -require "uri" +require "tempfile" unless defined?(Tempfile) +require "uri" unless defined?(URI) class Chef class Knife @@ -305,7 +305,7 @@ class Chef # Having this as a method makes it easier to mock # SSH Config for testing. def ssh_config_for_host(host) - require "net/ssh" + require "net/ssh" unless defined?(Net::SSH) Net::SSH::Config.for(host) end end diff --git a/lib/chef/knife/config_use_profile.rb b/lib/chef/knife/config_use_profile.rb index a202c8cf2a..89d75b3369 100644 --- a/lib/chef/knife/config_use_profile.rb +++ b/lib/chef/knife/config_use_profile.rb @@ -15,7 +15,7 @@ # limitations under the License. # -require "fileutils" +require "fileutils" unless defined?(FileUtils) require_relative "../knife" diff --git a/lib/chef/knife/configure.rb b/lib/chef/knife/configure.rb index 0e523584fb..5ff5d96aa0 100644 --- a/lib/chef/knife/configure.rb +++ b/lib/chef/knife/configure.rb @@ -26,7 +26,7 @@ class Chef attr_reader :chef_repo, :new_client_key, :validation_client_name, :validation_key deps do - require "ohai" + require "ohai" unless defined?(Ohai::System) Chef::Knife::ClientCreate.load_deps Chef::Knife::UserCreate.load_deps end diff --git a/lib/chef/knife/cookbook_show.rb b/lib/chef/knife/cookbook_show.rb index d7855f63ba..9129e61e7e 100644 --- a/lib/chef/knife/cookbook_show.rb +++ b/lib/chef/knife/cookbook_show.rb @@ -24,7 +24,7 @@ class Chef deps do require_relative "../json_compat" - require "uri" + require "uri" unless defined?(URI) require_relative "../cookbook_version" end diff --git a/lib/chef/knife/core/bootstrap_context.rb b/lib/chef/knife/core/bootstrap_context.rb index 759fb043c0..997ebd5f28 100644 --- a/lib/chef/knife/core/bootstrap_context.rb +++ b/lib/chef/knife/core/bootstrap_context.rb @@ -18,7 +18,7 @@ require_relative "../../run_list" require_relative "../../util/path_helper" -require "pathname" +require "pathname" unless defined?(Pathname) require_relative "../../dist" class Chef diff --git a/lib/chef/knife/core/gem_glob_loader.rb b/lib/chef/knife/core/gem_glob_loader.rb index b5b9143552..41d85b83a4 100644 --- a/lib/chef/knife/core/gem_glob_loader.rb +++ b/lib/chef/knife/core/gem_glob_loader.rb @@ -39,7 +39,7 @@ class Chef # subcommand loader has been modified to load the plugins by using Kernel.load # with the absolute path. def gem_and_builtin_subcommands - require "rubygems" + require "rubygems" unless defined?(Gem) find_subcommands_via_rubygems rescue LoadError find_subcommands_via_dirglob diff --git a/lib/chef/knife/core/generic_presenter.rb b/lib/chef/knife/core/generic_presenter.rb index 77c874e71a..96a4c766a5 100644 --- a/lib/chef/knife/core/generic_presenter.rb +++ b/lib/chef/knife/core/generic_presenter.rb @@ -89,7 +89,7 @@ class Chef require "yaml" YAML.dump(data) when :pp - require "stringio" + require "stringio" unless defined?(StringIO) # If you were looking for some attribute and there is only one match # just dump the attribute value if config[:attribute] && data.length == 1 diff --git a/lib/chef/knife/core/object_loader.rb b/lib/chef/knife/core/object_loader.rb index d87b3eaf71..94b956be04 100644 --- a/lib/chef/knife/core/object_loader.rb +++ b/lib/chef/knife/core/object_loader.rb @@ -16,7 +16,7 @@ # limitations under the License. # -require "ffi_yajl" +require "ffi_yajl" unless defined?(FFI_Yajl) require_relative "../../util/path_helper" require_relative "../../data_bag_item" diff --git a/lib/chef/knife/core/ui.rb b/lib/chef/knife/core/ui.rb index cbda9c20f5..7961e1b523 100644 --- a/lib/chef/knife/core/ui.rb +++ b/lib/chef/knife/core/ui.rb @@ -18,10 +18,10 @@ # limitations under the License. # -require "forwardable" +require "forwardable" unless defined?(Forwardable) require_relative "../../platform/query_helpers" require_relative "generic_presenter" -require "tempfile" +require "tempfile" unless defined?(Tempfile) class Chef class Knife diff --git a/lib/chef/knife/data_bag_secret_options.rb b/lib/chef/knife/data_bag_secret_options.rb index 19b0dfca38..d04be7d448 100644 --- a/lib/chef/knife/data_bag_secret_options.rb +++ b/lib/chef/knife/data_bag_secret_options.rb @@ -16,7 +16,7 @@ # limitations under the License. # -require "mixlib/cli" +require "mixlib/cli" unless defined?(Mixlib::CLI) require_relative "../config" require_relative "../encrypted_data_bag_item/check_encrypted" diff --git a/lib/chef/knife/search.rb b/lib/chef/knife/search.rb index bca6e9a886..b2aa7b5dc9 100644 --- a/lib/chef/knife/search.rb +++ b/lib/chef/knife/search.rb @@ -18,7 +18,7 @@ require_relative "../knife" require_relative "core/node_presenter" -require "addressable/uri" +require "addressable/uri" unless defined?(Addressable::URI) class Chef class Knife diff --git a/lib/chef/knife/ssh.rb b/lib/chef/knife/ssh.rb index b829a21969..a3cda96fb5 100644 --- a/lib/chef/knife/ssh.rb +++ b/lib/chef/knife/ssh.rb @@ -24,13 +24,13 @@ class Chef class Ssh < Knife deps do - require "net/ssh" + require "net/ssh" unless defined?(Net::SSH) require "net/ssh/multi" require "readline" require_relative "../exceptions" require_relative "../search/query" require_relative "../util/path_helper" - require "mixlib/shellout" + require "mixlib/shellout" unless defined?(Mixlib::ShellOut) end include Chef::Mixin::ShellOut @@ -498,7 +498,7 @@ class Chef def macterm begin - require "appscript" + require "appscript" unless defined?(Appscript) rescue LoadError STDERR.puts "You need the rb-appscript gem to use knife ssh macterm. `(sudo) gem install rb-appscript` to install" raise diff --git a/lib/chef/knife/ssl_check.rb b/lib/chef/knife/ssl_check.rb index 9a27261124..46a1f2f3b0 100644 --- a/lib/chef/knife/ssl_check.rb +++ b/lib/chef/knife/ssl_check.rb @@ -24,11 +24,11 @@ class Chef class SslCheck < Chef::Knife deps do - require "pp" - require "socket" - require "uri" + require "pp" unless defined?(PP) + require "socket" unless defined?(Socket) + require "uri" unless defined?(URI) require_relative "../http/ssl_policies" - require "openssl" + require "openssl" unless defined?(OpenSSL) require_relative "../mixin/proxified_socket" include Chef::Mixin::ProxifiedSocket end diff --git a/lib/chef/knife/ssl_fetch.rb b/lib/chef/knife/ssl_fetch.rb index 9b6b364d8f..3f6a466881 100644 --- a/lib/chef/knife/ssl_fetch.rb +++ b/lib/chef/knife/ssl_fetch.rb @@ -24,10 +24,10 @@ class Chef class SslFetch < Chef::Knife deps do - require "pp" - require "socket" - require "uri" - require "openssl" + require "pp" unless defined?(PP) + require "socket" unless defined?(Socket) + require "uri" unless defined?(URI) + require "openssl" unless defined?(OpenSSL) require_relative "../mixin/proxified_socket" include Chef::Mixin::ProxifiedSocket end diff --git a/lib/chef/knife/supermarket_download.rb b/lib/chef/knife/supermarket_download.rb index abb65a9c1b..b48126151f 100644 --- a/lib/chef/knife/supermarket_download.rb +++ b/lib/chef/knife/supermarket_download.rb @@ -26,7 +26,7 @@ class Chef category "supermarket" deps do - require "fileutils" + require "fileutils" unless defined?(FileUtils) end option :file, diff --git a/lib/chef/knife/supermarket_install.rb b/lib/chef/knife/supermarket_install.rb index ab88170245..f47917e13d 100644 --- a/lib/chef/knife/supermarket_install.rb +++ b/lib/chef/knife/supermarket_install.rb @@ -24,8 +24,8 @@ class Chef class SupermarketInstall < Knife deps do - require "shellwords" - require "mixlib/archive" + require "shellwords" unless defined?(Shellwords) + require "mixlib/archive" unless defined?(Mixlib::Archive) require_relative "core/cookbook_scm_repo" require_relative "../cookbook/metadata" end |