Sha256: 7d0c4b22e3ba10f9bee07eac0e9a01f4da9969d379deb0fc89a046f419c5ff40

Contents?: true

Size: 1.49 KB

Versions: 30

Compression:

Stored size: 1.49 KB

Contents

namespace :gems do
  desc "Build MRI/C POSIX gem"
  task :posix => :release_dir  do
    sh "rake clean spec"
    sh "rake gemspec build"
    mv "pkg/gherkin-#{GHERKIN_VERSION}.gem", 'release'
  end

  [:mswin32, :mingw32].each do |win_compiler|
    desc "Build MRI/C precompiled #{win_compiler} gem"
    task win_compiler do
      # Bootstrap with:
      #
      #   rake-compiler cross-ruby VERSION=1.9.1-p243
      #   rake-compiler cross-ruby VERSION=1.8.6-p114
      #
      sh "rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1"
      sh "rake gemspec build PLATFORM=i386-#{win_compiler}"
      mv "pkg/gherkin-#{GHERKIN_VERSION}-x86-#{win_compiler}.gem", 'release'
    end
  end

  desc 'Build JRuby gem'
  task :jruby => :release_dir do
    sh "rvm jruby rake spec"
    sh "rvm jruby rake gemspec build PLATFORM=java"
    raise "The jruby gem looks too small" if File.stat("pkg/gherkin-#{GHERKIN_VERSION}-java.gem").size < 1000000
    mv "pkg/gherkin-#{GHERKIN_VERSION}-java.gem", 'release'
  end

  desc 'Build IronRuby gem'
  task :ironruby => [:jruby, 'ikvm:dll', 'ikvm:copy_ikvm_dlls'] do
    sh "rake gemspec build PLATFORM=universal-dotnet"
    mv "pkg/gherkin-#{GHERKIN_VERSION}-universal-dotnet.gem", 'release'
  end

  task :release_dir do
    mkdir 'release' unless File.directory?('release')
  end

  task :clean_release_dir do
    rm_rf 'release' if File.directory?('release')
  end
end

task :gems => ['gems:clean_release_dir', 'gems:posix', 'gems:mswin32', 'gems:mingw32', 'gems:jruby', 'gems:ironruby']

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
gherkin-2.2.0 tasks/gems.rake
gherkin-2.2.0-i386-mswin32 tasks/gems.rake
gherkin-2.2.0-i386-mingw32 tasks/gems.rake
gherkin-2.2.0-universal-dotnet tasks/gems.rake
gherkin-2.2.0-java tasks/gems.rake
gherkin-2.1.5 tasks/gems.rake
gherkin-2.1.5-i386-mswin32 tasks/gems.rake
gherkin-2.1.5-i386-mingw32 tasks/gems.rake
gherkin-2.1.5-universal-dotnet tasks/gems.rake
gherkin-2.1.5-java tasks/gems.rake
gherkin-2.1.4 tasks/gems.rake
gherkin-2.1.4-i386-mswin32 tasks/gems.rake
gherkin-2.1.4-i386-mingw32 tasks/gems.rake
gherkin-2.1.4-universal-dotnet tasks/gems.rake
gherkin-2.1.4-java tasks/gems.rake
gherkin-2.1.3 tasks/gems.rake
gherkin-2.1.3-i386-mswin32 tasks/gems.rake
gherkin-2.1.3-i386-mingw32 tasks/gems.rake
gherkin-2.1.3-universal-dotnet tasks/gems.rake
gherkin-2.1.3-java tasks/gems.rake