1*cc02d7e2SAndroid Build Coastguard Worker%YAML 1.2 2*cc02d7e2SAndroid Build Coastguard Worker--- | 3*cc02d7e2SAndroid Build Coastguard Worker # -*- ruby -*- 4*cc02d7e2SAndroid Build Coastguard Worker # encoding: utf-8 5*cc02d7e2SAndroid Build Coastguard Worker $LOAD_PATH.push File.expand_path('../src/ruby/lib', __FILE__) 6*cc02d7e2SAndroid Build Coastguard Worker require 'grpc/version' 7*cc02d7e2SAndroid Build Coastguard Worker 8*cc02d7e2SAndroid Build Coastguard Worker Gem::Specification.new do |s| 9*cc02d7e2SAndroid Build Coastguard Worker s.name = 'grpc' 10*cc02d7e2SAndroid Build Coastguard Worker s.version = GRPC::VERSION 11*cc02d7e2SAndroid Build Coastguard Worker s.authors = ['gRPC Authors'] 12*cc02d7e2SAndroid Build Coastguard Worker s.email = '[email protected]' 13*cc02d7e2SAndroid Build Coastguard Worker s.homepage = 'https://github.com/google/grpc/tree/master/src/ruby' 14*cc02d7e2SAndroid Build Coastguard Worker s.summary = 'GRPC system in Ruby' 15*cc02d7e2SAndroid Build Coastguard Worker s.description = 'Send RPCs from Ruby using GRPC' 16*cc02d7e2SAndroid Build Coastguard Worker s.license = 'Apache-2.0' 17*cc02d7e2SAndroid Build Coastguard Worker 18*cc02d7e2SAndroid Build Coastguard Worker s.required_ruby_version = '>= 2.5.0' 19*cc02d7e2SAndroid Build Coastguard Worker 20*cc02d7e2SAndroid Build Coastguard Worker s.files = %w( Makefile .yardopts ) 21*cc02d7e2SAndroid Build Coastguard Worker s.files += %w( etc/roots.pem ) 22*cc02d7e2SAndroid Build Coastguard Worker s.files += Dir.glob('src/ruby/bin/**/*') 23*cc02d7e2SAndroid Build Coastguard Worker s.files += Dir.glob('src/ruby/ext/**/*') 24*cc02d7e2SAndroid Build Coastguard Worker s.files += Dir.glob('src/ruby/lib/**/*') 25*cc02d7e2SAndroid Build Coastguard Worker s.files += Dir.glob('src/ruby/pb/**/*').reject do |f| 26*cc02d7e2SAndroid Build Coastguard Worker f.match(%r{^src/ruby/pb/test}) 27*cc02d7e2SAndroid Build Coastguard Worker end 28*cc02d7e2SAndroid Build Coastguard Worker s.files += Dir.glob('include/grpc/**/*') 29*cc02d7e2SAndroid Build Coastguard Worker s.test_files = Dir.glob('src/ruby/spec/**/*') 30*cc02d7e2SAndroid Build Coastguard Worker s.test_files += Dir.glob('src/ruby/pb/test/**/*') 31*cc02d7e2SAndroid Build Coastguard Worker s.bindir = 'src/ruby/bin' 32*cc02d7e2SAndroid Build Coastguard Worker s.require_paths = %w( src/ruby/lib src/ruby/bin src/ruby/pb ) 33*cc02d7e2SAndroid Build Coastguard Worker s.platform = Gem::Platform::RUBY 34*cc02d7e2SAndroid Build Coastguard Worker 35*cc02d7e2SAndroid Build Coastguard Worker ## Once protobuf 4.x is working with other dependencies, 36*cc02d7e2SAndroid Build Coastguard Worker ## please replace the following fixed 3.25 version with 37*cc02d7e2SAndroid Build Coastguard Worker ## '~> 4.${settings.protobuf_version.split(".")[1]}' 38*cc02d7e2SAndroid Build Coastguard Worker s.add_dependency 'google-protobuf', '~> 3.25' 39*cc02d7e2SAndroid Build Coastguard Worker s.add_dependency 'googleapis-common-protos-types', '~> 1.0' 40*cc02d7e2SAndroid Build Coastguard Worker 41*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'bundler', '>= 1.9' 42*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'facter', '~> 2.4' 43*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'logging', '~> 2.0' 44*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'simplecov', '~> 0.22' 45*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'rake', '~> 13.0' 46*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'rake-compiler', '~> 1.2.1' 47*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'rake-compiler-dock', '~> 1.4' 48*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'rspec', '~> 3.6' 49*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'rubocop', '~> 1.41.0' 50*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'signet', '~> 0.7' 51*cc02d7e2SAndroid Build Coastguard Worker s.add_development_dependency 'googleauth', '~> 1.0' 52*cc02d7e2SAndroid Build Coastguard Worker 53*cc02d7e2SAndroid Build Coastguard Worker s.extensions = %w(src/ruby/ext/grpc/extconf.rb) 54*cc02d7e2SAndroid Build Coastguard Worker <% 55*cc02d7e2SAndroid Build Coastguard Worker files = [] 56*cc02d7e2SAndroid Build Coastguard Worker ruby_deps = ruby_gem.get('deps', []) 57*cc02d7e2SAndroid Build Coastguard Worker lib_maps = {lib.name: lib for lib in libs} 58*cc02d7e2SAndroid Build Coastguard Worker for dep in ruby_deps[:]: 59*cc02d7e2SAndroid Build Coastguard Worker ruby_deps.extend(lib_maps[dep].transitive_deps) 60*cc02d7e2SAndroid Build Coastguard Worker for dep in ruby_deps: 61*cc02d7e2SAndroid Build Coastguard Worker lib = lib_maps.get(dep, None) 62*cc02d7e2SAndroid Build Coastguard Worker if lib: 63*cc02d7e2SAndroid Build Coastguard Worker files.extend(lib.get('public_headers', []) + lib.headers + lib.src) 64*cc02d7e2SAndroid Build Coastguard Worker files = sorted(set(files)) 65*cc02d7e2SAndroid Build Coastguard Worker %> 66*cc02d7e2SAndroid Build Coastguard Worker % for file in files: 67*cc02d7e2SAndroid Build Coastguard Worker s.files += %w( ${file} ) 68*cc02d7e2SAndroid Build Coastguard Worker % endfor 69*cc02d7e2SAndroid Build Coastguard Worker end 70