In ticket #1064 we made the use of 'plugins' directories in modules
deprecated. This was released in 0.25.0 in 2009.  This commit removes
this deprecation warning and defaults the plugin directory to 'lib'.

All tests also fixed.

Signed-off-by: James Turnbull <[email protected]>
---
Local-branch: tickets/master/7591
 lib/puppet/file_serving/mount/plugins.rb     |    2 +-
 lib/puppet/module.rb                         |   19 ++---------
 spec/unit/file_serving/mount/plugins_spec.rb |    4 +-
 spec/unit/module_spec.rb                     |   40 +++++--------------------
 4 files changed, 15 insertions(+), 50 deletions(-)

diff --git a/lib/puppet/file_serving/mount/plugins.rb 
b/lib/puppet/file_serving/mount/plugins.rb
index d21d6e9..b0dd985 100644
--- a/lib/puppet/file_serving/mount/plugins.rb
+++ b/lib/puppet/file_serving/mount/plugins.rb
@@ -16,7 +16,7 @@ class Puppet::FileServing::Mount::Plugins < 
Puppet::FileServing::Mount
   def search(relative_path, request)
     # We currently only support one kind of search on plugins - return
     # them all.
-    paths = request.environment.modules.find_all { |mod| mod.plugins? 
}.collect { |mod| mod.plugin_directory }
+    paths = request.environment.modules.find_all { |mod| mod.plugins? 
}.collect { |mod| mod.lib_directory }
     return(paths.empty? ? nil : paths)
   end
 
diff --git a/lib/puppet/module.rb b/lib/puppet/module.rb
index 059591e..7534b59 100644
--- a/lib/puppet/module.rb
+++ b/lib/puppet/module.rb
@@ -15,7 +15,7 @@ class Puppet::Module
   TEMPLATES = "templates"
   FILES = "files"
   MANIFESTS = "manifests"
-  PLUGINS = "plugins"
+  PLUGINS = "lib"
 
   FILETYPES = [MANIFESTS, FILES, TEMPLATES, PLUGINS]
 
@@ -142,8 +142,8 @@ class Puppet::Module
   end
 
   # Find all plugin directories.  This is used by the Plugins fileserving 
mount.
-  def plugin_directory
-    subpath("plugins")
+  def lib_directory
+    subpath("lib")
   end
 
   def requires(name, version = nil)
@@ -184,18 +184,7 @@ class Puppet::Module
   private
 
   def subpath(type)
-    return File.join(path, type) unless type.to_s == "plugins"
-
-    backward_compatible_plugins_dir
-  end
-
-  def backward_compatible_plugins_dir
-    if dir = File.join(path, "plugins") and FileTest.exist?(dir)
-      Puppet.warning "using the deprecated 'plugins' directory for ruby 
extensions; please move to 'lib'"
-      return dir
-    else
-      return File.join(path, "lib")
-    end
+    return File.join(path, type)
   end
 
   def assert_validity
diff --git a/spec/unit/file_serving/mount/plugins_spec.rb 
b/spec/unit/file_serving/mount/plugins_spec.rb
index b6bed72..29908a9 100755
--- a/spec/unit/file_serving/mount/plugins_spec.rb
+++ b/spec/unit/file_serving/mount/plugins_spec.rb
@@ -50,8 +50,8 @@ describe Puppet::FileServing::Mount::Plugins do
     end
 
     it "should return the plugin paths for each module that has plugins" do
-      one = stub 'module', :plugins? => true, :plugin_directory => "/one"
-      two = stub 'module', :plugins? => true, :plugin_directory => "/two"
+      one = stub 'module', :plugins? => true, :lib_directory => "/one"
+      two = stub 'module', :plugins? => true, :lib_directory => "/two"
 
       @environment.stubs(:modules).returns [one, two]
       @mount.search("foo/bar", @request).should == %w{/one /two}
diff --git a/spec/unit/module_spec.rb b/spec/unit/module_spec.rb
index 8d38657..7db3a8d 100755
--- a/spec/unit/module_spec.rb
+++ b/spec/unit/module_spec.rb
@@ -5,12 +5,6 @@ require 'puppet_spec/files'
 describe Puppet::Module do
   include PuppetSpec::Files
 
-  before do
-    # This is necessary because of the extra checks we have for the deprecated
-    # 'plugins' directory
-    FileTest.stubs(:exist?).returns false
-  end
-
   it "should have a class method that returns a named module from a given 
environment" do
     env = mock 'module'
     env.expects(:module).with("mymod").returns "yep"
@@ -316,12 +310,11 @@ describe Puppet::Module do
     mod.should_not be_exist
   end
 
-  [:plugins, :templates, :files, :manifests].each do |filetype|
-    dirname = filetype == :plugins ? "lib" : filetype.to_s
+  [:lib, :templates, :files, :manifests].each do |filetype|
     it "should be able to return individual #{filetype}" do
       mod = Puppet::Module.new("foo")
       mod.stubs(:path).returns "/a/foo"
-      path = File.join("/a/foo", dirname, "my/file")
+      path = File.join("/a/foo", filetype.to_s, "my/file")
       FileTest.expects(:exist?).with(path).returns true
       mod.send(filetype.to_s.sub(/s$/, ''), "my/file").should == path
     end
@@ -329,7 +322,7 @@ describe Puppet::Module do
     it "should consider #{filetype} to be present if their base directory 
exists" do
       mod = Puppet::Module.new("foo")
       mod.stubs(:path).returns "/a/foo"
-      path = File.join("/a/foo", dirname)
+      path = File.join("/a/foo", filetype.to_s)
       FileTest.expects(:exist?).with(path).returns true
       mod.send(filetype.to_s + "?").should be_true
     end
@@ -337,7 +330,7 @@ describe Puppet::Module do
     it "should consider #{filetype} to be absent if their base directory does 
not exist" do
       mod = Puppet::Module.new("foo")
       mod.stubs(:path).returns "/a/foo"
-      path = File.join("/a/foo", dirname)
+      path = File.join("/a/foo", filetype.to_s)
       FileTest.expects(:exist?).with(path).returns false
       mod.send(filetype.to_s + "?").should be_false
     end
@@ -351,7 +344,7 @@ describe Puppet::Module do
     it "should return nil if asked to return individual #{filetype} that don't 
exist" do
       mod = Puppet::Module.new("foo")
       mod.stubs(:path).returns "/a/foo"
-      path = File.join("/a/foo", dirname, "my/file")
+      path = File.join("/a/foo", filetype.to_s, "my/file")
       FileTest.expects(:exist?).with(path).returns false
       mod.send(filetype.to_s.sub(/s$/, ''), "my/file").should be_nil
     end
@@ -365,15 +358,14 @@ describe Puppet::Module do
     it "should return the base directory if asked for a nil path" do
       mod = Puppet::Module.new("foo")
       mod.stubs(:path).returns "/a/foo"
-      base = File.join("/a/foo", dirname)
+      base = File.join("/a/foo", filetype.to_s)
       FileTest.expects(:exist?).with(base).returns true
       mod.send(filetype.to_s.sub(/s$/, ''), nil).should == base
     end
   end
 
-  %w{plugins files}.each do |filetype|
+  %w{lib files}.each do |filetype|
     short = filetype.sub(/s$/, '')
-    dirname = filetype == "plugins" ? "lib" : filetype.to_s
     it "should be able to return the #{short} directory" do
       Puppet::Module.new("foo").should respond_to(short + "_directory")
     end
@@ -382,25 +374,9 @@ describe Puppet::Module do
       mod = Puppet::Module.new("foo")
       mod.stubs(:path).returns "/a/foo"
 
-      mod.send(short + "_directory").should == "/a/foo/#{dirname}"
+      mod.send(short + "_directory").should == "/a/foo/#{filetype}"
     end
   end
-
-  it "should throw a warning if plugins are in a 'plugins' directory rather 
than a 'lib' directory" do
-    mod = Puppet::Module.new("foo")
-    mod.stubs(:path).returns "/a/foo"
-    FileTest.expects(:exist?).with("/a/foo/plugins").returns true
-
-    mod.plugin_directory.should == "/a/foo/plugins"
-    @logs.first.message.should == "using the deprecated 'plugins' directory 
for ruby extensions; please move to 'lib'"
-    @logs.first.level.should == :warning
-  end
-
-  it "should default to 'lib' for the plugins directory" do
-    mod = Puppet::Module.new("foo")
-    mod.stubs(:path).returns "/a/foo"
-    mod.plugin_directory.should == "/a/foo/lib"
-  end
 end
 
 describe Puppet::Module, " when building its search path" do
-- 
1.7.1

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to