1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
require 'bundler'
Bundler::GemHelper.install_tasks
require 'fileutils'
require 'rspec/core'
require 'rspec/core/rake_task'
require 'yard'
RSpec::Core::RakeTask.new(:spec) do |t|
t.rspec_opts = ["-c", "-f documentation"]
t.rspec_opts << "-Ilib"
t.pattern = 'spec/**/*_spec.rb'
t.verbose = true
end
task :spec => :compile
desc 'Run RSpec code examples and measure coverage'
task :coverage do |t|
ENV['SIMPLE_COV'] = '1'
Rake::Task["spec"].invoke
end
desc 'Generate YARD document'
YARD::Rake::YardocTask.new(:doc) do |t|
t.files = ['lib/cbor/version.rb','doclib/**/*.rb']
t.options = []
t.options << '--debug' << '--verbose' if $trace
end
spec = eval File.read("cbor.gemspec")
if RUBY_PLATFORM =~ /java/
require 'rake/javaextensiontask'
Rake::JavaExtensionTask.new('cbor', spec) do |ext|
ext.ext_dir = 'ext/java'
#jruby_home = RbConfig::CONFIG['prefix']
#jars = ["#{jruby_home}/lib/jruby.jar"] + FileList['lib/*.jar']
#ext.classpath = jars.map { |x| File.expand_path x }.join ':'
end
else
require 'rake/extensiontask'
Rake::ExtensionTask.new('cbor', spec) do |ext|
ext.cross_compile = true
ext.lib_dir = File.join(*['lib', 'cbor', ENV['FAT_DIR']].compact)
#ext.cross_platform = 'i386-mswin32'
end
end
CLEAN.include('lib/cbor/*.jar')
CLEAN.include('lib/cbor/cbor.*')
task :default => :build
###
## Cross compile memo
##
## Ubuntu Ubuntu 10.04.1 LTS
##
#
### install mingw32 cross compiler with w64 support
# sudo apt-get install gcc-mingw32
# sudo apt-get install mingw-w64
#
### install rbenv
# git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
# echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
# echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# exec $SHELL -l
#
### install cross-compiled ruby 2.0.0
# rbenv install 2.0.0-p0
# gem install rake-compiler
# rake-compiler cross-ruby VERSION=2.0.0-p0
#
### install cross-compiled ruby 1.9.3
# rbenv install 1.9.3-p327
# gem install rake-compiler
# rake-compiler cross-ruby VERSION=1.9.3-p327
#
### install cross-compiled ruby 1.8.7
# rbenv install 1.8.7-p371
# gem install rake-compiler
# rake-compiler cross-ruby VERSION=1.8.7-p371
#
### build gem
# rbenv shell 1.8.7-p371
# gem install bundler && bundle
# rake cross native gem RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0
#
|