[ARVADOS] created: 398721c8009a58181c6a26407a2d195a26e138f3
Git user
git at public.curoverse.com
Thu May 12 16:41:08 EDT 2016
at 398721c8009a58181c6a26407a2d195a26e138f3 (commit)
commit 398721c8009a58181c6a26407a2d195a26e138f3
Author: Brett Smith <brett at curoverse.com>
Date: Thu May 12 16:40:37 2016 -0400
9213: Improve gem loading in `arv`.
* Include the exception string in the error message.
* Separate stdlib loading problems from gem loading problems.
* Load gems with more dependencies first, to avoid situations like
this:
irb(main):001:0> require 'active_support/inflector'
=> true
irb(main):002:0> require 'arvados/google_api_client'
Gem::LoadError: Unable to activate arvados-0.1.20160420143004, because activesupport-4.2.6 conflicts with activesupport (< 4.2.6, >= 3)
diff --git a/sdk/cli/bin/arv b/sdk/cli/bin/arv
index 541bcdc..301cadc 100755
--- a/sdk/cli/bin/arv
+++ b/sdk/cli/bin/arv
@@ -14,21 +14,30 @@ if RUBY_VERSION < '1.9.3' then
end
begin
- require 'curb'
- require 'rubygems'
- require 'arvados/google_api_client'
require 'json'
+ require 'net/http'
require 'pp'
- require 'trollop'
+ require 'tempfile'
+ require 'yaml'
+rescue LoadError => error
+ abort "Error loading libraries: #{error}\n"
+end
+
+begin
+ require 'rubygems'
+ # Load the gems with more requirements first, so we respect any version
+ # constraints they put on gems loaded later.
+ require 'arvados/google_api_client'
+ require 'active_support/inflector'
require 'andand'
+ require 'curb'
require 'oj'
- require 'active_support/inflector'
- require 'yaml'
- require 'tempfile'
- require 'net/http'
-rescue LoadError
+ require 'trollop'
+rescue LoadError => error
abort <<-EOS
+Error loading gems: #{error}
+
Please install all required gems:
gem install activesupport andand curb google-api-client json oj trollop yaml
commit 3b8349ac05b3f3e036dc414c0aae8b00170a959f
Author: Brett Smith <brett at curoverse.com>
Date: Thu May 12 16:37:59 2016 -0400
9213: Fix google-api-client dependency range for arvados gem.
diff --git a/sdk/ruby/arvados.gemspec b/sdk/ruby/arvados.gemspec
index 355ed5d..2c4e60e 100644
--- a/sdk/ruby/arvados.gemspec
+++ b/sdk/ruby/arvados.gemspec
@@ -22,7 +22,9 @@ Gem::Specification.new do |s|
# activesupport <4.2.6 only because https://dev.arvados.org/issues/8222
s.add_dependency('activesupport', '>= 3', '< 4.2.6')
s.add_dependency('andand', '~> 1.3', '>= 1.3.3')
- s.add_dependency('google-api-client', '>= 0.7', '< 0.9')
+ # Our google-api-client dependency used to be < 0.9, but that could be
+ # satisfied by the buggy 0.9.pre*. https://dev.arvados.org/issues/9213
+ s.add_dependency('google-api-client', '>= 0.7', '< 0.8.9')
# work around undeclared dependency on i18n in some activesupport 3.x.x:
s.add_dependency('i18n', '~> 0')
s.add_dependency('json', '~> 1.7', '>= 1.7.7')
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list