public
Description: ffi based ruby library to access Tokyo Cabinet and Tokyo Tyrant
Homepage: http://rufus.rubyforge.org
Clone URL: git://github.com/jmettraux/rufus-tokyo.git
rufus-tokyo / Rakefile
100644 111 lines (78 sloc) 1.733 kb
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
require 'rubygems'
 
require 'rake'
require 'rake/clean'
require 'rake/packagetask'
require 'rake/gempackagetask'
require 'rake/testtask'
require 'tasks/dev'
 
begin
  require 'hanna/rdoctask'
rescue LoadError => e
  require 'rake/rdoctask'
end
 
gemspec = File.read('rufus-tokyo.gemspec')
eval "gemspec = #{gemspec}"
 
#
# tasks
 
CLEAN.include('pkg', 'tmp', 'html')
 
task :default => [ :clean, :repackage ]
 
 
#
# SPECING
 
task :spec do
  load File.dirname(__FILE__) + '/spec/spec.rb'
end
 
 
#
# TESTING
#Rake::TestTask.new(:test) do |t|
# t.libs << 'lib'
# t.libs << 'test'
# t.test_files = FileList['test/test.rb']
# t.verbose = true
#end
task :test => :spec
 
 
#
# VERSION
 
task :change_version do
 
  version = ARGV.pop
  `sedip "s/VERSION = '.*'/VERSION = '#{version}'/" lib/rufus/tokyo.rb`
  `sedip "s/s.version = '.*'/s.version = '#{version}'/" rufus-tokyo.gemspec`
  exit 0 # prevent rake from triggering other tasks
end
 
 
#
# PACKAGING
 
Rake::GemPackageTask.new(gemspec) do |pkg|
  #pkg.need_tar = true
end
 
Rake::PackageTask.new('rufus-tokyo', gemspec.version) do |pkg|
 
  pkg.need_zip = true
 
  pkg.package_files = FileList[
    'Rakefile',
    '*.txt',
    'lib/**/*',
    'spec/**/*',
    'test/**/*'
  ].to_a
  pkg.package_files.delete('lib/tokyotyrant.rb')
 
  class << pkg
    def package_name
      "#{@name}-#{@version}-src"
    end
  end
end
 
 
#
# DOCUMENTATION
 
task :rdoc do
  sh %{
rm -fR html/rufus-tokyo
yardoc 'lib/**/*.rb' \
-o html/rufus-tokyo \
--title 'rufus-tokyo'
}
end
 
 
#
# WEBSITE
 
task :upload_website => [ :clean, :rdoc ] do
 
  account = 'jmettraux@rubyforge.org'
  webdir = '/var/www/gforge-projects/rufus'
 
  sh "rsync -azv -e ssh html/rufus-tokyo #{account}:#{webdir}/"
end