Skip to content

Commit d66f616

Browse files
committed
Add EngineDetector and fix extension_helper path
It was polluting global Ruby load space
1 parent bf6e2b5 commit d66f616

38 files changed

+88
-78
lines changed

‎Rakefile‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env rake
22

3-
require_relative './lib/extension_helper'
3+
require 'concurrent/extension_helper'
44

55
## load the two gemspec files
66
CORE_GEMSPEC = Gem::Specification.load('concurrent-ruby.gemspec')
@@ -12,7 +12,7 @@ GEM_NAME = 'concurrent-ruby'
1212
EXTENSION_NAME = 'extension'
1313
JAVA_EXT_NAME = 'concurrent_ruby_ext'
1414

15-
if Concurrent.jruby?
15+
if Concurrent.on_jruby?
1616
CORE_GEM = "#{GEM_NAME}-#{Concurrent::VERSION}-java.gem"
1717
else
1818
CORE_GEM = "#{GEM_NAME}-#{Concurrent::VERSION}.gem"
@@ -35,7 +35,7 @@ Dir.glob('tasks/**/*.rake').each do |rakefile|
3535
safe_load rakefile
3636
end
3737

38-
if Concurrent.jruby?
38+
if Concurrent.on_jruby?
3939

4040
## create the compile task for the JRuby-specific gem
4141
require 'rake/javaextensiontask'
@@ -95,15 +95,15 @@ end
9595
namespace :build do
9696

9797
build_deps = [:clean]
98-
build_deps << :compile if Concurrent.jruby?
98+
build_deps << :compile if Concurrent.on_jruby?
9999

100100
desc "Build #{CORE_GEM} into the pkg directory"
101101
task :core => build_deps do
102102
sh "gem build #{CORE_GEMSPEC.name}.gemspec"
103103
sh 'mv *.gem pkg/'
104104
end
105105

106-
unless Concurrent.jruby?
106+
unless Concurrent.on_jruby?
107107
desc "Build #{EXTENSION_GEM} into the pkg directory"
108108
task :ext => [:clean] do
109109
sh "gem build #{EXT_GEMSPEC.name}.gemspec"
@@ -120,7 +120,7 @@ namespace :build do
120120
end
121121
end
122122

123-
if Concurrent.jruby?
123+
if Concurrent.on_jruby?
124124
desc 'Build JRuby-specific core gem (alias for `build:core`)'
125125
task :build => ['build:core']
126126
else

‎concurrent-ruby-ext.gemspec‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
2020

2121
s.files = Dir['ext/**/*.{h,c,cpp}']
2222
s.files += [
23-
'lib/extension_helper.rb',
23+
'lib/concurrent/extension_helper.rb',
2424
'lib/concurrent/atomic_reference/concurrent_update_error.rb',
2525
'lib/concurrent/atomic_reference/direct_update.rb',
2626
'lib/concurrent/atomic_reference/numeric_cas_wrapper.rb',

‎ext/concurrent/extconf.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
require 'fileutils'
22

3-
require_relative '../../lib/extension_helper'
3+
require 'concurrent/extension_helper'
44

55
EXTENSION_NAME = 'extension'
66

‎lib/concurrent/atomic.rb‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
# user that they should use the new implementation instead.
44

55
if defined?(Atomic)
6-
warn <<-RUBY
6+
warn <<-TXT
77
[ATOMIC] Detected an `Atomic` class, which may indicate a dependency
88
on the ruby-atomic gem. That gem has been deprecated and merged into
99
the concurrent-ruby gem. Please use the Concurrent::Atomic class for
1010
atomic references and not the Atomic class.
11-
RUBY
11+
TXT
1212
end
1313
#####################################################################
1414

15-
require_relative '../extension_helper'
15+
require 'concurrent/extension_helper'
16+
require 'concurrent/utility/engine'
1617
require 'concurrent/atomic_reference/concurrent_update_error'
1718
require 'concurrent/atomic_reference/mutex_atomic'
1819

@@ -21,7 +22,7 @@
2122
if /[^0fF]/ =~ ENV['FORCE_ATOMIC_FALLBACK']
2223
ruby_engine = 'mutex_atomic'
2324
else
24-
ruby_engine = defined?(RUBY_ENGINE)? RUBY_ENGINE : 'ruby'
25+
ruby_engine = Concurrent.ruby_engine
2526
end
2627

2728
require "concurrent/atomic_reference/#{ruby_engine}"

‎lib/concurrent/atomic/atomic_boolean.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require_relative '../../extension_helper'
1+
require 'concurrent/extension_helper'
22

33
module Concurrent
44

@@ -113,7 +113,7 @@ def make_false
113113
end
114114
end
115115

116-
if RUBY_PLATFORM == 'java'
116+
if Concurrent.on_jruby?
117117

118118
class AtomicBoolean < JavaAtomicBoolean
119119
end

‎lib/concurrent/atomic/atomic_fixnum.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require_relative '../../extension_helper'
1+
require 'concurrent/extension_helper'
22

33
module Concurrent
44

@@ -118,7 +118,7 @@ def compare_and_set(expect, update)
118118
end
119119
end
120120

121-
if RUBY_PLATFORM == 'java'
121+
if Concurrent.on_jruby?
122122

123123
# @!macro atomic_fixnum
124124
class AtomicFixnum < JavaAtomicFixnum

‎lib/concurrent/atomic/count_down_latch.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def count
6969
end
7070
end
7171

72-
if RUBY_PLATFORM == 'java'
72+
if Concurrent.on_jruby?
7373

7474
# @!macro count_down_latch
7575
class JavaCountDownLatch

‎lib/concurrent/atomic/semaphore.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ def try_acquire_timed(permits, timeout)
150150
end
151151
end
152152

153-
if RUBY_PLATFORM == 'java'
153+
if Concurrent.on_jruby?
154154

155155
# @!macro semaphore
156156
#

‎lib/concurrent/atomic/thread_local_var.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ module ThreadLocalRubyStorage
3535

3636
protected
3737

38-
unless RUBY_PLATFORM == 'java'
38+
unless Concurrent.on_jruby?
3939
require 'ref'
4040
end
4141

@@ -119,7 +119,7 @@ def bind(value, &block)
119119

120120
# @!macro abstract_thread_local_var
121121
class ThreadLocalVar < AbstractThreadLocalVar
122-
if RUBY_PLATFORM == 'java'
122+
if Concurrent.on_jruby?
123123
include ThreadLocalJavaStorage
124124
else
125125
include ThreadLocalRubyStorage

‎lib/concurrent/atomic_reference/jruby.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require_relative '../../extension_helper'
1+
require 'concurrent/extension_helper'
22

33
if defined?(Concurrent::JavaAtomic)
44
require 'concurrent/atomic_reference/direct_update'

0 commit comments

Comments
 (0)