|
1 | 1 | require 'bundler/setup' |
2 | 2 | require 'rspec/core/rake_task' |
3 | 3 | require 'tmpdir' |
| 4 | +require 'rubygems/package' |
4 | 5 |
|
5 | 6 | Bundler::GemHelper.install_tasks |
6 | 7 | RSpec::Core::RakeTask.new :spec |
|
48 | 49 |
|
49 | 50 | desc "build a binary gem #{Helpers.binary_gem_name}" |
50 | 51 | task :binary => :compile do |
51 | | - require 'rubygems/package' |
52 | | - |
53 | 52 | gemspec = Helpers.binary_gemspec |
54 | 53 |
|
55 | 54 | FileUtils.chmod 0644, gemspec.files |
@@ -106,13 +105,19 @@ end |
106 | 105 | task :default => [:compile, :spec] |
107 | 106 | task :build => [:clean] |
108 | 107 |
|
109 | | -desc 'Generate OSX varient platform names' |
110 | | -task :osx_varients => [:compile] do |
111 | | - gemspec = binary_gemspec |
112 | | - return unless gemspec.platform == 'osx' |
| 108 | +desc 'Generate OSX varient platform names. Requires `compile` to already have been run.' |
| 109 | +task :osx_varients do |
| 110 | + gemspec = Helpers.binary_gemspec |
| 111 | + next unless gemspec.platform.os == 'osx' |
113 | 112 |
|
114 | 113 | %w(x86_64 universal).each do |cpu| |
115 | | - gemspec.platform.cpu = cpu |
116 | | - Gem::Package.build gemspec |
| 114 | + platform = gemspec.platform.dup |
| 115 | + next unless platform.cpu != cpu |
| 116 | + |
| 117 | + platform.cpu = cpu |
| 118 | + gemspec.platform = platform |
| 119 | + |
| 120 | + package = Gem::Package.build gemspec |
| 121 | + FileUtils.mv package, 'pkg' |
117 | 122 | end |
118 | 123 | end |
0 commit comments