/
Rakefile
97 lines (83 loc) · 2.35 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
86
87
88
89
90
91
92
93
94
95
96
97
require File.expand_path(File.join(File.dirname(__FILE__), "..", "rake_helpers"))
NAME = "merb"
AUTHOR = "Merb Team"
EMAIL = "team@merbivore.com"
HOMEPAGE = "http://merbivore.com/"
SUMMARY = "(merb-core + merb-more + DM) == Merb stack"
# For RubyForge release task
RUBY_FORGE_PROJECT = "merb"
PROJECT_URL = HOMEPAGE
PROJECT_SUMMARY = SUMMARY
PROJECT_DESCRIPTION = SUMMARY
GEM_AUTHOR = AUTHOR
GEM_EMAIL = EMAIL
GEM_NAME = NAME
PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
GEM_VERSION = Merb::VERSION + PKG_BUILD
RELEASE_NAME = "REL #{GEM_VERSION}"
gems = [
["merb-core", "~> #{GEM_VERSION}"],
["merb-more", "~> #{GEM_VERSION}"],
["dm-core", "~> 0.9.6"],
["do_sqlite3", "~> 0.9.6"],
["dm-timestamps", "~> 0.9.6"],
["dm-types", "~> 0.9.6"],
["dm-aggregates", "~> 0.9.6"],
["dm-migrations", "~> 0.9.6"],
["dm-validations", "~> 0.9.6"],
["dm-sweatshop", "~> 0.9.6"]
]
merb_spec = Gem::Specification.new do |s|
s.rubyforge_project = 'merb'
s.name = NAME
s.version = GEM_VERSION
s.platform = Gem::Platform::RUBY
s.author = AUTHOR
s.email = EMAIL
s.homepage = HOMEPAGE
s.summary = SUMMARY
s.description = SUMMARY
s.files = %w(LICENSE README Rakefile) + Dir.glob("{lib}/**/*")
gems.each do |gem, version|
s.add_dependency gem, version
end
end
Rake::GemPackageTask.new(merb_spec) do |package|
package.gem_spec = merb_spec
end
require "extlib/tasks/release"
task :package => ["lib/merb.rb"]
desc "Create merb.rb"
task "lib/merb.rb" do
mkdir_p "lib"
File.open("lib/merb.rb","w+") do |file|
file.puts "### AUTOMATICALLY GENERATED. DO NOT EDIT!"
gems.each do |pair|
g, _ = pair
file.puts "require '#{g}'"
end
end
end
desc "Bundle up all the merb-more gems"
task :bundle => [:package] do
mkdir_p "bundle"
cp "pkg/merb-#{GEM_VERSION}.gem", "bundle"
cp "pkg/merb-more-#{GEM_VERSION}.gem", "bundle"
gems.each do |gem|
sh %{cp #{gem}/pkg/#{gem}-#{Merb::MORE_VERSION}.gem bundle/}
end
end
desc "Install the 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 :make_spec do
File.open("#{NAME}.gemspec", "w") do |file|
file.puts spec.to_ruby
end
end