Fixed a TimeBase,Clock,SystemClock RDoc generation by changing FileList order.
[timebase.git] / Rakefile
blob7db1abe6bebad70798231aa59d4bd17baed01ee3
1 require 'rake'
2 require 'rake/clean'
3 require 'rake/testtask'
4 require 'rake/gempackagetask'
5 require 'rake/rdoctask'
6 require 'tools/rakehelp'
8 GEM_VERSION="0.1"
10 case RUBY_PLATFORM
11 when /java/
12   # TODO: compile the whole thing
13   task :timebase_ext do
14     cp "java/timebase_ext.rb", "lib/timebase_ext.rb"
15   end
16 else
17   setup_extension('timebase_ext', 'timebase_ext')
18 end
20 desc "Compiles native extensions"
21 task :compile => [:timebase_ext]
23 task :default => [:compile, :test]
25 Rake::TestTask.new do |task|
26   task.libs << 'test'
27   task.test_files = Dir.glob( 'test/test*.rb' )
28   task.verbose = true
29 end
31 gemspec = Gem::Specification.new do |gemspec|
32   gemspec.name = "timebase"
33   gemspec.version = GEM_VERSION
34   gemspec.author = "Jonas Pfenniger <zimbatm@oree.ch>"
35   gemspec.summary = "Low-level system timers"
36   gemspec.test_file = 'test/test_timebase.rb'
37   gemspec.files = %w( Rakefile setup.rb README LICENSE ) +
38                   Dir.glob( 'test/*.rb' ) +
39                   Dir.glob( 'ext/**/*.{c,rb}' ) +
40                   Dir.glob( 'tools/*.rb' )
41                   
42   gemspec.require_path = 'lib'
44   case RUBY_PLATFORM
45   when /win32/
46     gemspec.platform = Gem::Platform::WIN32
47     gemspec.files += ['lib/timebase_ext.so']
48   when /java/
49     gemspec.platform = Gem::Platform::JAVA
50     gemspec.files += ['lib/timebase.jar'] # TODO : ???
51   else
52     gemspec.platform = Gem::Platform::RUBY
53     gemspec.extensions = Dir.glob( 'ext/*/extconf.rb' )
54   end
55 end
57 task :package => [:clean, :compile, :test]
58 Rake::GemPackageTask.new( gemspec ) do |task|
59   task.gem_spec = gemspec
60   task.need_tar = true
61 end
63 setup_clean ["ext/**/*.{bundle,so,obj,pdb,lib,def,exp}", "ext/**/Makefile", "pkg", "lib/*.bundle", "*.gem", ".config"]
65 setup_rdoc(FileList['README', 'LICENSE', 'ext/**/*.c', '{java,lib}/**/*.rb'])
67 task :install => [:default, :package] do
68   sh %{ sudo gem install pkg/timebase-#{GEM_VERSION}.gem }
69 end
71 task :uninstall do
72   sh %{ sudo gem uninstall timebase }
73 end