16565: Merge branch 'master' into 16565-no-more-latest-docker-jobs-image
[arvados.git] / sdk / cli / arvados-cli.gemspec
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 if not File.exist?('/usr/bin/git') then
6   STDERR.puts "\nGit binary not found, aborting. Please install git and run gem build from a checked out copy of the git repository.\n\n"
7   exit
8 end
9
10 git_dir = ENV["GIT_DIR"]
11 git_work = ENV["GIT_WORK_TREE"]
12 begin
13   ENV["GIT_DIR"] = File.expand_path "#{__dir__}/../../.git"
14   ENV["GIT_WORK_TREE"] = File.expand_path "#{__dir__}/../.."
15   git_timestamp, git_hash = `git log -n1 --first-parent --format=%ct:%H #{__dir__}`.chomp.split(":")
16   if ENV["ARVADOS_BUILDING_VERSION"]
17     version = ENV["ARVADOS_BUILDING_VERSION"]
18   else
19     version = `#{__dir__}/../../build/version-at-commit.sh #{git_hash}`.encode('utf-8').strip
20   end
21   git_timestamp = Time.at(git_timestamp.to_i).utc
22 ensure
23   ENV["GIT_DIR"] = git_dir
24   ENV["GIT_WORK_TREE"] = git_work
25 end
26
27 Gem::Specification.new do |s|
28   s.name        = 'arvados-cli'
29   s.version     = version
30   s.date        = git_timestamp.strftime("%Y-%m-%d")
31   s.summary     = "Arvados CLI tools"
32   s.description = "Arvados command line tools, git commit #{git_hash}"
33   s.authors     = ["Arvados Authors"]
34   s.email       = 'gem-dev@arvados.org'
35   #s.bindir      = '.'
36   s.licenses    = ['Apache-2.0']
37   s.files       = ["bin/arv", "bin/arv-tag", "LICENSE-2.0.txt"]
38   s.executables << "arv"
39   s.executables << "arv-tag"
40   s.required_ruby_version = '>= 2.1.0'
41   s.add_runtime_dependency 'arvados', '>= 1.4.1.20190320201707'
42   # Our google-api-client dependency used to be < 0.9, but that could be
43   # satisfied by the buggy 0.9.pre*.  https://dev.arvados.org/issues/9213
44   s.add_runtime_dependency 'arvados-google-api-client', '~> 0.6', '>= 0.6.3', '<0.8.9'
45   s.add_runtime_dependency 'activesupport', '>= 3.2.13', '< 5.3'
46   s.add_runtime_dependency 'json', '>= 1.7.7', '<3'
47   s.add_runtime_dependency 'optimist', '~> 3.0'
48   s.add_runtime_dependency 'andand', '~> 1.3', '>= 1.3.3'
49   # oj 3.10.9 requires ruby >= 2.4 and arvbox doesn't currently have it because of SSO
50   s.add_runtime_dependency 'oj', '< 3.10.9'
51   s.add_runtime_dependency 'curb', '~> 0.8'
52   s.add_runtime_dependency 'launchy', '< 2.5'
53   # arvados-google-api-client 0.8.7.2 is incompatible with faraday 0.16.2
54   s.add_dependency('faraday', '< 0.16')
55   s.homepage    =
56     'https://arvados.org'
57 end