Skip to content

Commit

Permalink
remove backports dependency, use homegrown substitute for require_rel…
Browse files Browse the repository at this point in the history
…ative
  • Loading branch information
slyphon committed Jul 17, 2012
1 parent cfa6d0a commit 1661598
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 28 deletions.
13 changes: 8 additions & 5 deletions ext/c_zookeeper.rb
@@ -1,8 +1,11 @@
require_relative '../lib/zookeeper/logger' Zookeeper.require_lib(
require_relative '../lib/zookeeper/common' 'zookeeper/logger',
require_relative '../lib/zookeeper/constants' 'zookeeper/common',
require_relative '../lib/zookeeper/exceptions' # zookeeper_c depends on exceptions defined in here 'zookeeper/constants',
require_relative 'zookeeper_c' 'zookeeper/exceptions' # zookeeper_c depends on exceptions defined in here
)

Zookeeper.require_root 'ext/zookeeper_c'


# require File.expand_path('../zookeeper_c', __FILE__) # require File.expand_path('../zookeeper_c', __FILE__)


Expand Down
3 changes: 2 additions & 1 deletion ext/zookeeper_base.rb
@@ -1,6 +1,7 @@
require_relative 'c_zookeeper'
require 'forwardable' require 'forwardable'


Zookeeper.require_root 'ext/c_zookeeper'

# The low-level wrapper-specific methods for the C lib # The low-level wrapper-specific methods for the C lib
# subclassed by the top-level Zookeeper class # subclassed by the top-level Zookeeper class
module Zookeeper module Zookeeper
Expand Down
56 changes: 37 additions & 19 deletions lib/zookeeper.rb
Expand Up @@ -8,29 +8,47 @@
require 'logging' require 'logging'


module Zookeeper module Zookeeper
# establishes the namespace ZOOKEEPER_ROOT = File.expand_path('../..', __FILE__)
end


require File.expand_path('../zookeeper/core_ext', __FILE__) # require a path relative to the lib directory
# this is to avoid monkeying explicitly with $LOAD_PATH
#
# @private
def self.require_lib(*relpaths)
relpaths.each do |relpath|
require File.join(ZOOKEEPER_ROOT, 'lib', relpath)
end
end


require 'backports' if RUBY_VERSION =~ /\A1\.8\./ # require a path that's relative to ZOOKEEPER_ROOT
# @private
def self.require_root(*relpaths)
relpaths.each do |relpath|
require File.join(ZOOKEEPER_ROOT, relpath)
end
end
end


require_relative 'zookeeper/monitor' Zookeeper.require_lib(
require_relative 'zookeeper/logger' 'zookeeper/core_ext',
require_relative 'zookeeper/forked' 'zookeeper/monitor',
require_relative 'zookeeper/latch' 'zookeeper/logger',
require_relative 'zookeeper/acls' 'zookeeper/forked',
require_relative 'zookeeper/constants' 'zookeeper/latch',
require_relative 'zookeeper/exceptions' 'zookeeper/acls',
require_relative 'zookeeper/continuation' 'zookeeper/constants',
require_relative 'zookeeper/common' 'zookeeper/exceptions',
require_relative 'zookeeper/callbacks' 'zookeeper/continuation',
require_relative 'zookeeper/stat' 'zookeeper/common',
require_relative 'zookeeper/client_methods' 'zookeeper/callbacks',
'zookeeper/stat',
'zookeeper/client_methods'
)

#require 'backports' if RUBY_VERSION =~ /\A1\.8\./


# ok, now we construct the client # ok, now we construct the client

Zookeeper.require_lib 'zookeeper/client'
require_relative 'zookeeper/client'


module Zookeeper module Zookeeper
include Constants include Constants
Expand Down Expand Up @@ -90,7 +108,7 @@ class << self
end end


# just for first test, get rid of this soon # just for first test, get rid of this soon
require_relative 'zookeeper/compatibility' Zookeeper.require_lib 'zookeeper/compatibility'


if ENV['ZKRB_DEBUG'] if ENV['ZKRB_DEBUG']
Zookeeper.debug_level = Zookeeper::Constants::ZOO_LOG_LEVEL_DEBUG Zookeeper.debug_level = Zookeeper::Constants::ZOO_LOG_LEVEL_DEBUG
Expand Down
4 changes: 2 additions & 2 deletions lib/zookeeper/client.rb
Expand Up @@ -3,9 +3,9 @@
# or which class we're subclassing. # or which class we're subclassing.


if defined?(::JRUBY_VERSION) if defined?(::JRUBY_VERSION)
require_relative('../../java/java_base') Zookeeper.require_root('java/java_base')
else else
require_relative('../../ext/zookeeper_base') Zookeeper.require_root('ext/zookeeper_base')
end end




Expand Down
2 changes: 1 addition & 1 deletion zookeeper.gemspec
Expand Up @@ -20,7 +20,7 @@ This library uses version #{Zookeeper::DRIVER_VERSION} of zookeeper bindings.


s.homepage = 'https://github.com/slyphon/zookeeper' s.homepage = 'https://github.com/slyphon/zookeeper'


s.add_runtime_dependency 'backports', '~> 2.5.1' # s.add_runtime_dependency 'backports', '~> 2.5.1'
s.add_runtime_dependency 'logging', '~> 1.7.2' s.add_runtime_dependency 'logging', '~> 1.7.2'


s.files = `git ls-files`.split("\n") s.files = `git ls-files`.split("\n")
Expand Down

0 comments on commit 1661598

Please sign in to comment.