Updating dependencies.
[arvados.git] / tasks / gem.rake
index c10cd632ed743fb15a1f3f64d6a5831d30d62bb6..0192db8d94636cf15929814dd1d3fbe10cbb4185 100644 (file)
@@ -1,4 +1,7 @@
-require 'rake/gempackagetask'
+require 'rubygems/package_task'
+require 'rake/clean'
+
+CLOBBER.include('pkg')
 
 namespace :gem do
   GEM_SPEC = Gem::Specification.new do |s|
@@ -17,35 +20,33 @@ namespace :gem do
     s.files = PKG_FILES.to_a
     s.executables << 'google-api'
 
-    s.has_rdoc = true
-    s.extra_rdoc_files = %w( README )
-    s.rdoc_options.concat ['--main',  'README']
+    s.extra_rdoc_files = %w( README.md )
+    s.rdoc_options.concat ['--main',  'README.md']
 
     # Dependencies used in the main library
-    s.add_runtime_dependency('signet', '~> 0.2.2')
-    s.add_runtime_dependency('addressable', '~> 2.2.2')
-    s.add_runtime_dependency('httpadapter', '~> 1.0.0')
-    s.add_runtime_dependency('autoparse', '~> 0.1.0')
-    s.add_runtime_dependency('json', '>= 1.4.6')
+    s.add_runtime_dependency('signet', '>= 0.4.0')
+    s.add_runtime_dependency('addressable', '>= 2.2.3')
+    s.add_runtime_dependency('autoparse', '>= 0.3.1')
+    s.add_runtime_dependency('faraday', '~> 0.8.1')
+    s.add_runtime_dependency('multi_json', '>= 1.3.0')
     s.add_runtime_dependency('extlib', '>= 0.9.15')
+    s.add_runtime_dependency('uuidtools', '>= 2.1.0')
 
     # Dependencies used in the CLI
-    s.add_runtime_dependency('launchy', '>= 0.3.2')
+    s.add_runtime_dependency('launchy', '>= 2.0.0')
 
     # Dependencies used in the examples
     s.add_development_dependency('sinatra', '>= 1.2.0')
 
-    s.add_development_dependency('rake', '>= 0.7.3')
-    s.add_development_dependency('rspec', '~> 1.2.9')
-    s.add_development_dependency('rcov', '>= 0.9.9')
-    s.add_development_dependency('diff-lcs', '>= 1.1.2')
+    s.add_development_dependency('rake', '>= 0.9.0')
+    s.add_development_dependency('rspec', '~> 2.10.0')
 
     s.require_path = 'lib'
 
     s.homepage = PKG_HOMEPAGE
   end
 
-  Rake::GemPackageTask.new(GEM_SPEC) do |p|
+  Gem::PackageTask.new(GEM_SPEC) do |p|
     p.gem_spec = GEM_SPEC
     p.need_tar = true
     p.need_zip = true
@@ -56,6 +57,21 @@ namespace :gem do
     puts GEM_SPEC.to_ruby
   end
 
+  desc "Generates .gemspec file"
+  task :gemspec do
+    spec_string = GEM_SPEC.to_ruby
+
+    begin
+      Thread.new { eval("$SAFE = 3\n#{spec_string}", binding) }.join
+    rescue
+      abort "unsafe gemspec: #{$!}"
+    else
+      File.open("#{GEM_SPEC.name}.gemspec", 'w') do |file|
+        file.write spec_string
+      end
+    end
+  end
+
   desc 'Install the gem'
   task :install => ['clobber', 'gem:package'] do
     sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
@@ -80,4 +96,4 @@ end
 desc 'Alias to gem:package'
 task 'gem' => 'gem:package'
 
-task 'clobber' => ['gem:clobber_package']
+task 'gem:release' => 'gem:gemspec'