diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2017-04-01 20:02:59 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2017-04-01 20:02:59 -0700 |
commit | bc42427577b2874dfd1a5cf6bc65dece2c6bdec1 (patch) | |
tree | 91ad4ac274aa5398521cebcea63d81ef9d0f7e3d | |
parent | 40b8dbcc1be0454873b79b04537baa074c221361 (diff) | |
download | chef-bc42427577b2874dfd1a5cf6bc65dece2c6bdec1.tar.gz |
Chef-13: remove deprecated knife subcommand APIs
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r-- | lib/chef/knife/core/subcommand_loader.rb | 34 | ||||
-rw-r--r-- | spec/unit/knife/core/subcommand_loader_spec.rb | 6 | ||||
-rw-r--r-- | spec/unit/knife/core/ui_spec.rb | 3 |
3 files changed, 3 insertions, 40 deletions
diff --git a/lib/chef/knife/core/subcommand_loader.rb b/lib/chef/knife/core/subcommand_loader.rb index 30a438b780..14b6479b53 100644 --- a/lib/chef/knife/core/subcommand_loader.rb +++ b/lib/chef/knife/core/subcommand_loader.rb @@ -1,6 +1,6 @@ # Author:: Christopher Brown (<cb@chef.io>) # Author:: Daniel DeLeo (<dan@chef.io>) -# Copyright:: Copyright 2009-2016, Chef Software Inc. +# Copyright:: Copyright 2009-2017, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,7 +20,6 @@ require "chef/version" require "chef/util/path_helper" require "chef/knife/core/gem_glob_loader" require "chef/knife/core/hashed_command_loader" -require "chef/knife/core/custom_manifest_loader" class Chef class Knife @@ -38,7 +37,6 @@ class Chef # class SubcommandLoader attr_reader :chef_config_dir - attr_reader :env # A small factory method. Eventually, this is the only place # where SubcommandLoader should know about its subclasses, but @@ -50,9 +48,6 @@ class Chef if autogenerated_manifest? Chef::Log.debug("Using autogenerated hashed command manifest #{plugin_manifest_path}") Knife::SubcommandLoader::HashedCommandLoader.new(chef_config_dir, plugin_manifest) - elsif custom_manifest? - Chef.deprecated(:internal_api, "Using custom manifest #{plugin_manifest_path} is deprecated. Please use a `knife rehash` autogenerated manifest instead.") - Knife::SubcommandLoader::CustomManifestLoader.new(chef_config_dir, plugin_manifest) else Knife::SubcommandLoader::GemGlobLoader.new(chef_config_dir) end @@ -72,10 +67,6 @@ class Chef plugin_manifest? && plugin_manifest.key?(HashedCommandLoader::KEY) end - def self.custom_manifest? - plugin_manifest? && plugin_manifest.key?("plugins") - end - def self.plugin_manifest Chef::JSONCompat.from_json(File.read(plugin_manifest_path)) end @@ -84,14 +75,8 @@ class Chef Chef::Util::PathHelper.home(".chef", "plugin_manifest.json") end - def initialize(chef_config_dir, env = nil) + def initialize(chef_config_dir) @chef_config_dir = chef_config_dir - - # Deprecated and un-used instance variable. - @env = env - unless env.nil? - Chef.deprecated(:internal_api, "The env argument to Chef::Knife::SubcommandLoader is deprecated. If you are using env to inject/mock HOME, consider mocking Chef::Util::PathHelper.home instead.") - end end # Load all the sub-commands @@ -149,21 +134,6 @@ class Chef end # - # Subclassses should define this themselves. Eventually, this will raise a - # NotImplemented error, but for now, we mimic the behavior the user was likely - # to get in the past. - # - def subcommand_files - Chef.deprecated :internal_api, "Using Chef::Knife::SubcommandLoader directly is deprecated. -Please use Chef::Knife::SubcommandLoader.for_config(chef_config_dir, env)" - @subcommand_files ||= if Chef::Knife::SubcommandLoader.plugin_manifest? - Chef::Knife::SubcommandLoader::CustomManifestLoader.new(chef_config_dir, env).subcommand_files - else - Chef::Knife::SubcommandLoader::GemGlobLoader.new(chef_config_dir, env).subcommand_files - end - end - - # # Utility function for finding an element in a hash given an array # of words and a separator. We find the the longest key in the # hash composed of the given words joined by the separator. diff --git a/spec/unit/knife/core/subcommand_loader_spec.rb b/spec/unit/knife/core/subcommand_loader_spec.rb index b235102a0b..5db0bb73e5 100644 --- a/spec/unit/knife/core/subcommand_loader_spec.rb +++ b/spec/unit/knife/core/subcommand_loader_spec.rb @@ -43,12 +43,6 @@ describe Chef::Knife::SubcommandLoader do allow(File).to receive(:read).with(File.join(home, ".chef", "plugin_manifest.json")).and_return("{ \"_autogenerated_command_paths\": {}}") expect(Chef::Knife::SubcommandLoader.for_config(config_dir)).to be_a Chef::Knife::SubcommandLoader::HashedCommandLoader end - - it "creates a CustomManifestLoader with then manifest has a key other than _autogenerated_command_paths" do - Chef::Config[:treat_deprecation_warnings_as_errors] = false - allow(File).to receive(:read).with(File.join(home, ".chef", "plugin_manifest.json")).and_return("{ \"plugins\": {}}") - expect(Chef::Knife::SubcommandLoader.for_config(config_dir)).to be_a Chef::Knife::SubcommandLoader::CustomManifestLoader - end end context "when ~/.chef/plugin_manifest.json does not exist" do diff --git a/spec/unit/knife/core/ui_spec.rb b/spec/unit/knife/core/ui_spec.rb index 38614f44d9..0b986258b7 100644 --- a/spec/unit/knife/core/ui_spec.rb +++ b/spec/unit/knife/core/ui_spec.rb @@ -3,7 +3,7 @@ # Author:: Tim Hinderliter (<tim@chef.io>) # Author:: Daniel DeLeo (<dan@chef.io>) # Author:: John Keiser (<jkeiser@chef.io>) -# Copyright:: Copyright 2008-2016, Chef Software Inc. +# Copyright:: Copyright 2008-2017, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,7 +31,6 @@ describe Chef::Knife::UI do :field_separator => ".", } @ui = Chef::Knife::UI.new(@out, @err, @in, @config) - Chef::Config[:treat_deprecation_warnings_as_errors] = false end class TestObject < OpenStruct |