diff options
author | Kouhei Sutou <kou@clear-code.com> | 2016-12-02 23:22:59 +0900 |
---|---|---|
committer | Kouhei Sutou <kou@clear-code.com> | 2016-12-02 23:22:59 +0900 |
commit | 092f3c58ade12c5cc0cd711e8d54ba7d88d33dc5 (patch) | |
tree | 2bfbad2c8ddcdad50618f610263c34969e5d66c0 /lib/rake | |
parent | 263ae176ee40799c807b816886a5699840472899 (diff) | |
download | rake-compiler-092f3c58ade12c5cc0cd711e8d54ba7d88d33dc5.tar.gz |
Fix a bug that Ruby versions are shared by all platforms
Diffstat (limited to 'lib/rake')
-rw-r--r-- | lib/rake/extensiontask.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/rake/extensiontask.rb b/lib/rake/extensiontask.rb index 9df8743..dd12593 100644 --- a/lib/rake/extensiontask.rb +++ b/lib/rake/extensiontask.rb @@ -25,7 +25,7 @@ module Rake @cross_compiling = nil @no_native = false @config_includes = [] - @ruby_versions_per_platform = Hash.new([]) + @ruby_versions_per_platform = {} end def cross_platform @@ -255,7 +255,7 @@ Java extension should be preferred. spec.platform = Gem::Platform.new(platf) # set ruby version constraints - cross_rubies = @ruby_versions_per_platform[platf] + cross_rubies = @ruby_versions_per_platform[platf] || [] spec.required_ruby_version = [ ">= #{version_ary2str( cross_rubies.min[0,2] )}", "< #{version_ary2str( cross_rubies.max[0,2].succ )}" @@ -355,7 +355,8 @@ Java extension should be preferred. end # Update cross compiled platform/version combinations - @ruby_versions_per_platform[for_platform] << version_str2ary(version) + ruby_versions = (@ruby_versions_per_platform[for_platform] ||= []) + ruby_versions << version_str2ary(version) define_cross_platform_tasks_with_version(for_platform, version) |