20846: Merge branch '19213-ubuntu2204-support' into 20846-ubuntu2204
[arvados.git] / sdk / ruby / arvados.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   version = version.sub("~dev", ".dev").sub("~rc", ".rc")
22   git_timestamp = Time.at(git_timestamp.to_i).utc
23 ensure
24   ENV["GIT_DIR"] = git_dir
25   ENV["GIT_WORK_TREE"] = git_work
26 end
27
28 Gem::Specification.new do |s|
29   s.name        = 'arvados'
30   s.version     = version
31   s.date        = git_timestamp.strftime("%Y-%m-%d")
32   s.summary     = "Arvados client library"
33   s.description = "Arvados client library, git commit #{git_hash}"
34   s.authors     = ["Arvados Authors"]
35   s.email       = 'packaging@arvados.org'
36   s.licenses    = ['Apache-2.0']
37   s.files       = ["lib/arvados.rb", "lib/arvados/google_api_client.rb",
38                    "lib/arvados/collection.rb", "lib/arvados/keep.rb",
39                    "README", "LICENSE-2.0.txt"]
40   s.required_ruby_version = '>= 2.5.0'
41   s.add_dependency('activesupport', '>= 3')
42   s.add_dependency('andand', '~> 1.3', '>= 1.3.3')
43   # arvados fork of google-api-client gem with old API and new
44   # compatibility fixes, built from ../ruby-google-api-client/
45   s.add_dependency('arvados-google-api-client', '>= 0.8.7.5', '< 0.8.8')
46   # work around undeclared dependency on i18n in some activesupport 3.x.x:
47   s.add_dependency('i18n')
48   s.add_dependency('json', '>= 1.7.7', '<3')
49   s.add_runtime_dependency('jwt', '<2', '>= 0.1.5')
50   s.homepage    =
51     'https://arvados.org'
52 end