Imported Upstream version 1.27.0
[platform/upstream/grpc.git] / templates / grpc.gemspec.template
1 %YAML 1.2
2 --- |
3   # -*- ruby -*-
4   # encoding: utf-8
5   $LOAD_PATH.push File.expand_path('../src/ruby/lib', __FILE__)
6   require 'grpc/version'
7
8   Gem::Specification.new do |s|
9     s.name          = 'grpc'
10     s.version       = GRPC::VERSION
11     s.authors       = ['gRPC Authors']
12     s.email         = 'temiola@google.com'
13     s.homepage      = 'https://github.com/google/grpc/tree/master/src/ruby'
14     s.summary       = 'GRPC system in Ruby'
15     s.description   = 'Send RPCs from Ruby using GRPC'
16     s.license       = 'Apache-2.0'
17
18     s.required_ruby_version = '>= 2.3.0'
19
20     s.files = %w( Makefile .yardopts )
21     s.files += %w( etc/roots.pem )
22     s.files += Dir.glob('src/ruby/bin/**/*')
23     s.files += Dir.glob('src/ruby/ext/**/*')
24     s.files += Dir.glob('src/ruby/lib/**/*')
25     s.files += Dir.glob('src/ruby/pb/**/*').reject do |f|
26       f.match(%r{^src/ruby/pb/test})
27     end
28     s.files += Dir.glob('include/grpc/**/*')
29     s.test_files = Dir.glob('src/ruby/spec/**/*')
30     s.bindir = 'src/ruby/bin'
31     s.require_paths = %w( src/ruby/lib src/ruby/bin src/ruby/pb )
32     s.platform      = Gem::Platform::RUBY
33
34     s.add_dependency 'google-protobuf', '~> 3.11'
35     s.add_dependency 'googleapis-common-protos-types', '~> 1.0'
36
37     s.add_development_dependency 'bundler',            '>= 1.9'
38     s.add_development_dependency 'facter',             '~> 2.4'
39     s.add_development_dependency 'logging',            '~> 2.0'
40     s.add_development_dependency 'simplecov',          '~> 0.14.1'
41     s.add_development_dependency 'rake',               '~> 12.0'
42     s.add_development_dependency 'rake-compiler',      '~> 1.0'
43     s.add_development_dependency 'rake-compiler-dock', '~> 0.5.1'
44     s.add_development_dependency 'rspec',              '~> 3.6'
45     s.add_development_dependency 'rubocop',            '~> 0.49.1'
46     s.add_development_dependency 'signet',             '~> 0.7'
47     s.add_development_dependency 'googleauth',         '>= 0.5.1', '< 0.10'
48
49     s.extensions = %w(src/ruby/ext/grpc/extconf.rb)
50   <%
51     files = []
52     ruby_deps = ruby_gem.get('deps', [])
53     lib_maps = {lib.name: lib for lib in libs}
54     for dep in ruby_deps[:]:
55       ruby_deps.extend(lib_maps[dep].transitive_deps)
56     for dep in ruby_deps:
57       lib = lib_maps[dep]
58       files.extend(lib.get('public_headers', []) + lib.headers + lib.src)
59     files = sorted(set(files))
60   %>
61     % for file in files:
62     s.files += %w( ${file} )
63     % endfor
64   end