forked from genki/dm-datastore-adapter
/
Rakefile
85 lines (71 loc) · 2.03 KB
/
Rakefile
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
require 'rubygems'
require 'rake/gempackagetask'
require 'merb-core'
require 'merb-core/tasks/merb'
GEM_NAME = "dm-datastore-adapter"
GEM_VERSION = "0.0.1"
AUTHOR = "Genki Takiuchi"
EMAIL = "genki@s21g.com"
HOMEPAGE = "http://jmerbist.appspot.com/"
RUBYFORGE_PROJECT = 'asakusarb'
SUMMARY = "This is a DataMapper adapter to DataStore of Google App Engine."
spec = Gem::Specification.new do |s|
s.rubyforge_project = RUBYFORGE_PROJECT
s.name = GEM_NAME
s.version = GEM_VERSION
s.platform = Gem::Platform::RUBY
s.has_rdoc = true
s.extra_rdoc_files = ["README", "LICENSE", 'TODO']
s.summary = SUMMARY
s.description = s.summary
s.author = AUTHOR
s.email = EMAIL
s.homepage = HOMEPAGE
s.add_dependency('dm-core', '>= 1.0.9')
s.require_path = 'lib'
s.files = %w(LICENSE README Rakefile TODO) + Dir.glob("{lib,spec}/**/*")
end
Rake::GemPackageTask.new(spec) do |pkg|
pkg.need_tar = true
pkg.gem_spec = spec
end
desc "install the plugin as a gem"
task :install do
Merb::RakeHelper.install(GEM_NAME, :version => GEM_VERSION)
end
desc "Uninstall the gem"
task :uninstall do
Merb::RakeHelper.uninstall(GEM_NAME, :version => GEM_VERSION)
end
desc "Create a gemspec file"
task :gemspec do
File.open("#{GEM_NAME}.gemspec", "w") do |file|
file.puts spec.to_ruby
end
end
desc "Run specs"
task :spec do
sh "jruby -S spec --color spec"
end
desc 'Package and upload the release to rubyforge.'
task :release => :package do |t|
require 'rubyforge'
v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
abort "Versions don't match #{v} vs #{GEM_VERSION}" unless v == GEM_VERSION
pkg = "pkg/#{GEM_NAME}-#{GEM_VERSION}"
require 'rubyforge'
rf = RubyForge.new.configure
puts "Logging in"
rf.login
c = rf.userconfig
# c["release_notes"] = description if description
# c["release_changes"] = changes if changes
c["preformatted"] = true
files = [
"#{pkg}.tgz",
"#{pkg}.gem"
].compact
puts "Releasing #{GEM_NAME} v. #{GEM_VERSION}"
rf.add_release RUBYFORGE_PROJECT, GEM_NAME, GEM_VERSION, *files
end
task :default => :spec