Added some tests for determining the discovery document URI.
[arvados.git] / tasks / gem.rake
1 require "rake/gempackagetask"
2
3 namespace :gem do
4   GEM_SPEC = Gem::Specification.new do |s|
5     unless s.respond_to?(:add_development_dependency)
6       puts "The gem spec requires a newer version of RubyGems."
7       exit(1)
8     end
9
10     s.name = PKG_NAME
11     s.version = PKG_VERSION
12     s.summary = PKG_SUMMARY
13     s.description = PKG_DESCRIPTION
14
15     s.files = PKG_FILES.to_a
16
17     s.has_rdoc = true
18     s.extra_rdoc_files = %w( README )
19     s.rdoc_options.concat ["--main",  "README"]
20
21     s.add_runtime_dependency("oauth", ">= 0.4.1")
22     s.add_runtime_dependency("addressable", ">= 2.2.0")
23     s.add_runtime_dependency("json", ">= 1.1.9")
24
25     s.add_development_dependency("rake", ">= 0.7.3")
26     s.add_development_dependency("rspec", ">= 1.0.8")
27     s.add_development_dependency("launchy", ">= 0.3.2")
28     s.add_development_dependency("diff-lcs", ">= 1.1.2")
29
30     s.require_path = "lib"
31
32     s.homepage = PKG_HOMEPAGE
33   end
34
35   Rake::GemPackageTask.new(GEM_SPEC) do |p|
36     p.gem_spec = GEM_SPEC
37     p.need_tar = true
38     p.need_zip = true
39   end
40
41   desc "Show information about the gem"
42   task :debug do
43     puts GEM_SPEC.to_ruby
44   end
45
46   desc "Install the gem"
47   task :install => ["clobber", "gem:package"] do
48     sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
49   end
50
51   desc "Uninstall the gem"
52   task :uninstall do
53     installed_list = Gem.source_index.find_name(PKG_NAME)
54     if installed_list &&
55         (installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION))
56       sh(
57         "#{SUDO} gem uninstall --version '#{PKG_VERSION}' " +
58         "--ignore-dependencies --executables #{PKG_NAME}"
59       )
60     end
61   end
62
63   desc "Reinstall the gem"
64   task :reinstall => [:uninstall, :install]
65 end
66
67 desc "Alias to gem:package"
68 task "gem" => "gem:package"
69
70 task "clobber" => ["gem:clobber_package"]