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 = '[email protected]' 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.5.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.test_files += Dir.glob('src/ruby/pb/test/**/*') 31 s.bindir = 'src/ruby/bin' 32 s.require_paths = %w( src/ruby/lib src/ruby/bin src/ruby/pb ) 33 s.platform = Gem::Platform::RUBY 34 35 ## Once protobuf 4.x is working with other dependencies, 36 ## please replace the following fixed 3.25 version with 37 ## '~> 4.${settings.protobuf_version.split(".")[1]}' 38 s.add_dependency 'google-protobuf', '~> 3.25' 39 s.add_dependency 'googleapis-common-protos-types', '~> 1.0' 40 41 s.add_development_dependency 'bundler', '>= 1.9' 42 s.add_development_dependency 'facter', '~> 2.4' 43 s.add_development_dependency 'logging', '~> 2.0' 44 s.add_development_dependency 'simplecov', '~> 0.22' 45 s.add_development_dependency 'rake', '~> 13.0' 46 s.add_development_dependency 'rake-compiler', '~> 1.2.1' 47 s.add_development_dependency 'rake-compiler-dock', '~> 1.4' 48 s.add_development_dependency 'rspec', '~> 3.6' 49 s.add_development_dependency 'rubocop', '~> 1.41.0' 50 s.add_development_dependency 'signet', '~> 0.7' 51 s.add_development_dependency 'googleauth', '~> 1.0' 52 53 s.extensions = %w(src/ruby/ext/grpc/extconf.rb) 54 <% 55 files = [] 56 ruby_deps = ruby_gem.get('deps', []) 57 lib_maps = {lib.name: lib for lib in libs} 58 for dep in ruby_deps[:]: 59 ruby_deps.extend(lib_maps[dep].transitive_deps) 60 for dep in ruby_deps: 61 lib = lib_maps.get(dep, None) 62 if lib: 63 files.extend(lib.get('public_headers', []) + lib.headers + lib.src) 64 files = sorted(set(files)) 65 %> 66 % for file in files: 67 s.files += %w( ${file} ) 68 % endfor 69 end 70