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
|
# File 'lib/rstack/tasks/gem.rb', line 3
def self.define_tasks(configuration)
spec = ::Gem::Specification.new do |s|
s.name = configuration.gem_name
s.version = configuration.version
s.platform = configuration.platform
s.summary = configuration.summary
s.author = configuration.author
s.email = configuration.email
s.homepage = configuration.url
unless configuration.gem_name == 'rstack'
s.add_dependency "rstack", ">= #{RStack::Version::STRING}"
end
s.add_dependency 'rake', '>= 0.8.1'
s.add_dependency 'rcov', '>= 0.8.0'
s.add_dependency 'diff-lcs', '>= 1.1.2'
s.add_dependency 'rspec', '>= 1.1.3'
s.add_dependency 'extlib'
configuration.dependencies.each do |dependency, version|
s.add_dependency dependency, version
end
s.files = configuration.files
s.executables = configuration.executables
s.require_path = configuration.require_path
s.has_rdoc = configuration.has_rdoc
end
::Rake::GemPackageTask.new(spec) { |p| p.gem_spec = spec }
namespace :gem do
desc "Repackage gem, uninstall and install again (does not use sudo)."
task :refresh => :repackage do
system "gem uninstall #{configuration.gem_name} -v #{configuration.version}"
system "gem install pkg/#{configuration.gem_name}-#{configuration.version}.gem"
end
desc "Create a gemspec file"
task :spec do
File.open("#{configuration.gem_name}.gemspec", "w") do |file|
file.puts spec.to_ruby
end
end
end
end
|