diff options
-rw-r--r-- | build.yaml | 6 | ||||
-rwxr-xr-x | grpc.gemspec | 427 | ||||
-rw-r--r-- | src/ruby/ext/grpc/extconf.rb | 2 | ||||
-rw-r--r-- | src/ruby/lib/grpc.rb | 6 | ||||
-rw-r--r-- | src/ruby/lib/grpc/generic/bidi_call.rb | 2 | ||||
-rw-r--r-- | src/ruby/lib/grpc/generic/rpc_desc.rb | 2 | ||||
-rw-r--r-- | src/ruby/lib/grpc/generic/rpc_server.rb | 2 | ||||
-rw-r--r-- | src/ruby/lib/grpc/loader.rb | 34 | ||||
-rw-r--r-- | templates/grpc.gemspec.template | 4 |
9 files changed, 474 insertions, 11 deletions
diff --git a/build.yaml b/build.yaml index e9dd788f0c..52d4048dd4 100644 --- a/build.yaml +++ b/build.yaml @@ -2642,3 +2642,9 @@ python_dependencies: - gpr - boringssl - z +ruby_gem: + deps: + - grpc + - gpr + - boringssl + - z diff --git a/grpc.gemspec b/grpc.gemspec index c38d13cb8b..988aec59fa 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -415,4 +415,431 @@ Gem::Specification.new do |s| s.files += %w( src/core/census/operation.c ) s.files += %w( src/core/census/tag_set.c ) s.files += %w( src/core/census/tracing.c ) + s.files += %w( third_party/boringssl/crypto/aes/internal.h ) + s.files += %w( third_party/boringssl/crypto/asn1/asn1_locl.h ) + s.files += %w( third_party/boringssl/crypto/bio/internal.h ) + s.files += %w( third_party/boringssl/crypto/bn/internal.h ) + s.files += %w( third_party/boringssl/crypto/bn/rsaz_exp.h ) + s.files += %w( third_party/boringssl/crypto/bytestring/internal.h ) + s.files += %w( third_party/boringssl/crypto/cipher/internal.h ) + s.files += %w( third_party/boringssl/crypto/conf/conf_def.h ) + s.files += %w( third_party/boringssl/crypto/conf/internal.h ) + s.files += %w( third_party/boringssl/crypto/des/internal.h ) + s.files += %w( third_party/boringssl/crypto/dh/internal.h ) + s.files += %w( third_party/boringssl/crypto/digest/internal.h ) + s.files += %w( third_party/boringssl/crypto/digest/md32_common.h ) + s.files += %w( third_party/boringssl/crypto/directory.h ) + s.files += %w( third_party/boringssl/crypto/dsa/internal.h ) + s.files += %w( third_party/boringssl/crypto/ec/internal.h ) + s.files += %w( third_party/boringssl/crypto/ec/p256-x86_64-table.h ) + s.files += %w( third_party/boringssl/crypto/evp/internal.h ) + s.files += %w( third_party/boringssl/crypto/internal.h ) + s.files += %w( third_party/boringssl/crypto/modes/internal.h ) + s.files += %w( third_party/boringssl/crypto/obj/obj_dat.h ) + s.files += %w( third_party/boringssl/crypto/obj/obj_xref.h ) + s.files += %w( third_party/boringssl/crypto/pkcs8/internal.h ) + s.files += %w( third_party/boringssl/crypto/rand/internal.h ) + s.files += %w( third_party/boringssl/crypto/rsa/internal.h ) + s.files += %w( third_party/boringssl/crypto/test/scoped_types.h ) + s.files += %w( third_party/boringssl/crypto/test/test_util.h ) + s.files += %w( third_party/boringssl/crypto/x509/charmap.h ) + s.files += %w( third_party/boringssl/crypto/x509/vpm_int.h ) + s.files += %w( third_party/boringssl/crypto/x509v3/ext_dat.h ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_int.h ) + s.files += %w( third_party/boringssl/include/openssl/aead.h ) + s.files += %w( third_party/boringssl/include/openssl/aes.h ) + s.files += %w( third_party/boringssl/include/openssl/arm_arch.h ) + s.files += %w( third_party/boringssl/include/openssl/asn1.h ) + s.files += %w( third_party/boringssl/include/openssl/asn1_mac.h ) + s.files += %w( third_party/boringssl/include/openssl/asn1t.h ) + s.files += %w( third_party/boringssl/include/openssl/base.h ) + s.files += %w( third_party/boringssl/include/openssl/base64.h ) + s.files += %w( third_party/boringssl/include/openssl/bio.h ) + s.files += %w( third_party/boringssl/include/openssl/blowfish.h ) + s.files += %w( third_party/boringssl/include/openssl/bn.h ) + s.files += %w( third_party/boringssl/include/openssl/buf.h ) + s.files += %w( third_party/boringssl/include/openssl/buffer.h ) + s.files += %w( third_party/boringssl/include/openssl/bytestring.h ) + s.files += %w( third_party/boringssl/include/openssl/cast.h ) + s.files += %w( third_party/boringssl/include/openssl/chacha.h ) + s.files += %w( third_party/boringssl/include/openssl/cipher.h ) + s.files += %w( third_party/boringssl/include/openssl/cmac.h ) + s.files += %w( third_party/boringssl/include/openssl/conf.h ) + s.files += %w( third_party/boringssl/include/openssl/cpu.h ) + s.files += %w( third_party/boringssl/include/openssl/crypto.h ) + s.files += %w( third_party/boringssl/include/openssl/curve25519.h ) + s.files += %w( third_party/boringssl/include/openssl/des.h ) + s.files += %w( third_party/boringssl/include/openssl/dh.h ) + s.files += %w( third_party/boringssl/include/openssl/digest.h ) + s.files += %w( third_party/boringssl/include/openssl/dsa.h ) + s.files += %w( third_party/boringssl/include/openssl/dtls1.h ) + s.files += %w( third_party/boringssl/include/openssl/ec.h ) + s.files += %w( third_party/boringssl/include/openssl/ec_key.h ) + s.files += %w( third_party/boringssl/include/openssl/ecdh.h ) + s.files += %w( third_party/boringssl/include/openssl/ecdsa.h ) + s.files += %w( third_party/boringssl/include/openssl/engine.h ) + s.files += %w( third_party/boringssl/include/openssl/err.h ) + s.files += %w( third_party/boringssl/include/openssl/evp.h ) + s.files += %w( third_party/boringssl/include/openssl/ex_data.h ) + s.files += %w( third_party/boringssl/include/openssl/hkdf.h ) + s.files += %w( third_party/boringssl/include/openssl/hmac.h ) + s.files += %w( third_party/boringssl/include/openssl/lhash.h ) + s.files += %w( third_party/boringssl/include/openssl/lhash_macros.h ) + s.files += %w( third_party/boringssl/include/openssl/md4.h ) + s.files += %w( third_party/boringssl/include/openssl/md5.h ) + s.files += %w( third_party/boringssl/include/openssl/mem.h ) + s.files += %w( third_party/boringssl/include/openssl/obj.h ) + s.files += %w( third_party/boringssl/include/openssl/obj_mac.h ) + s.files += %w( third_party/boringssl/include/openssl/objects.h ) + s.files += %w( third_party/boringssl/include/openssl/opensslfeatures.h ) + s.files += %w( third_party/boringssl/include/openssl/opensslv.h ) + s.files += %w( third_party/boringssl/include/openssl/ossl_typ.h ) + s.files += %w( third_party/boringssl/include/openssl/pem.h ) + s.files += %w( third_party/boringssl/include/openssl/pkcs12.h ) + s.files += %w( third_party/boringssl/include/openssl/pkcs7.h ) + s.files += %w( third_party/boringssl/include/openssl/pkcs8.h ) + s.files += %w( third_party/boringssl/include/openssl/poly1305.h ) + s.files += %w( third_party/boringssl/include/openssl/pqueue.h ) + s.files += %w( third_party/boringssl/include/openssl/rand.h ) + s.files += %w( third_party/boringssl/include/openssl/rc4.h ) + s.files += %w( third_party/boringssl/include/openssl/rsa.h ) + s.files += %w( third_party/boringssl/include/openssl/safestack.h ) + s.files += %w( third_party/boringssl/include/openssl/sha.h ) + s.files += %w( third_party/boringssl/include/openssl/srtp.h ) + s.files += %w( third_party/boringssl/include/openssl/ssl.h ) + s.files += %w( third_party/boringssl/include/openssl/ssl3.h ) + s.files += %w( third_party/boringssl/include/openssl/stack.h ) + s.files += %w( third_party/boringssl/include/openssl/stack_macros.h ) + s.files += %w( third_party/boringssl/include/openssl/thread.h ) + s.files += %w( third_party/boringssl/include/openssl/time_support.h ) + s.files += %w( third_party/boringssl/include/openssl/tls1.h ) + s.files += %w( third_party/boringssl/include/openssl/type_check.h ) + s.files += %w( third_party/boringssl/include/openssl/x509.h ) + s.files += %w( third_party/boringssl/include/openssl/x509_vfy.h ) + s.files += %w( third_party/boringssl/include/openssl/x509v3.h ) + s.files += %w( third_party/boringssl/ssl/internal.h ) + s.files += %w( third_party/boringssl/ssl/test/async_bio.h ) + s.files += %w( third_party/boringssl/ssl/test/packeted_bio.h ) + s.files += %w( third_party/boringssl/ssl/test/scoped_types.h ) + s.files += %w( third_party/boringssl/ssl/test/test_config.h ) + s.files += %w( src/boringssl/err_data.c ) + s.files += %w( third_party/boringssl/crypto/aes/aes.c ) + s.files += %w( third_party/boringssl/crypto/aes/mode_wrappers.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_bitstr.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_bool.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_bytes.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_d2i_fp.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_dup.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_enum.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_gentm.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_i2d_fp.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_int.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_mbstr.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_object.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_octet.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_print.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_strnid.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_time.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_type.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_utctm.c ) + s.files += %w( third_party/boringssl/crypto/asn1/a_utf8.c ) + s.files += %w( third_party/boringssl/crypto/asn1/asn1_lib.c ) + s.files += %w( third_party/boringssl/crypto/asn1/asn1_par.c ) + s.files += %w( third_party/boringssl/crypto/asn1/asn_pack.c ) + s.files += %w( third_party/boringssl/crypto/asn1/bio_asn1.c ) + s.files += %w( third_party/boringssl/crypto/asn1/bio_ndef.c ) + s.files += %w( third_party/boringssl/crypto/asn1/f_enum.c ) + s.files += %w( third_party/boringssl/crypto/asn1/f_int.c ) + s.files += %w( third_party/boringssl/crypto/asn1/f_string.c ) + s.files += %w( third_party/boringssl/crypto/asn1/t_bitst.c ) + s.files += %w( third_party/boringssl/crypto/asn1/t_pkey.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_dec.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_enc.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_fre.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_new.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_prn.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_typ.c ) + s.files += %w( third_party/boringssl/crypto/asn1/tasn_utl.c ) + s.files += %w( third_party/boringssl/crypto/asn1/x_bignum.c ) + s.files += %w( third_party/boringssl/crypto/asn1/x_long.c ) + s.files += %w( third_party/boringssl/crypto/base64/base64.c ) + s.files += %w( third_party/boringssl/crypto/bio/bio.c ) + s.files += %w( third_party/boringssl/crypto/bio/bio_mem.c ) + s.files += %w( third_party/boringssl/crypto/bio/buffer.c ) + s.files += %w( third_party/boringssl/crypto/bio/connect.c ) + s.files += %w( third_party/boringssl/crypto/bio/fd.c ) + s.files += %w( third_party/boringssl/crypto/bio/file.c ) + s.files += %w( third_party/boringssl/crypto/bio/hexdump.c ) + s.files += %w( third_party/boringssl/crypto/bio/pair.c ) + s.files += %w( third_party/boringssl/crypto/bio/printf.c ) + s.files += %w( third_party/boringssl/crypto/bio/socket.c ) + s.files += %w( third_party/boringssl/crypto/bio/socket_helper.c ) + s.files += %w( third_party/boringssl/crypto/bn/add.c ) + s.files += %w( third_party/boringssl/crypto/bn/asm/x86_64-gcc.c ) + s.files += %w( third_party/boringssl/crypto/bn/bn.c ) + s.files += %w( third_party/boringssl/crypto/bn/bn_asn1.c ) + s.files += %w( third_party/boringssl/crypto/bn/cmp.c ) + s.files += %w( third_party/boringssl/crypto/bn/convert.c ) + s.files += %w( third_party/boringssl/crypto/bn/ctx.c ) + s.files += %w( third_party/boringssl/crypto/bn/div.c ) + s.files += %w( third_party/boringssl/crypto/bn/exponentiation.c ) + s.files += %w( third_party/boringssl/crypto/bn/gcd.c ) + s.files += %w( third_party/boringssl/crypto/bn/generic.c ) + s.files += %w( third_party/boringssl/crypto/bn/kronecker.c ) + s.files += %w( third_party/boringssl/crypto/bn/montgomery.c ) + s.files += %w( third_party/boringssl/crypto/bn/mul.c ) + s.files += %w( third_party/boringssl/crypto/bn/prime.c ) + s.files += %w( third_party/boringssl/crypto/bn/random.c ) + s.files += %w( third_party/boringssl/crypto/bn/rsaz_exp.c ) + s.files += %w( third_party/boringssl/crypto/bn/shift.c ) + s.files += %w( third_party/boringssl/crypto/bn/sqrt.c ) + s.files += %w( third_party/boringssl/crypto/buf/buf.c ) + s.files += %w( third_party/boringssl/crypto/bytestring/ber.c ) + s.files += %w( third_party/boringssl/crypto/bytestring/cbb.c ) + s.files += %w( third_party/boringssl/crypto/bytestring/cbs.c ) + s.files += %w( third_party/boringssl/crypto/chacha/chacha_generic.c ) + s.files += %w( third_party/boringssl/crypto/chacha/chacha_vec.c ) + s.files += %w( third_party/boringssl/crypto/cipher/aead.c ) + s.files += %w( third_party/boringssl/crypto/cipher/cipher.c ) + s.files += %w( third_party/boringssl/crypto/cipher/derive_key.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_aes.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_chacha20poly1305.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_des.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_null.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_rc2.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_rc4.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_ssl3.c ) + s.files += %w( third_party/boringssl/crypto/cipher/e_tls.c ) + s.files += %w( third_party/boringssl/crypto/cipher/tls_cbc.c ) + s.files += %w( third_party/boringssl/crypto/cmac/cmac.c ) + s.files += %w( third_party/boringssl/crypto/conf/conf.c ) + s.files += %w( third_party/boringssl/crypto/cpu-arm.c ) + s.files += %w( third_party/boringssl/crypto/cpu-intel.c ) + s.files += %w( third_party/boringssl/crypto/crypto.c ) + s.files += %w( third_party/boringssl/crypto/curve25519/curve25519.c ) + s.files += %w( third_party/boringssl/crypto/des/des.c ) + s.files += %w( third_party/boringssl/crypto/dh/check.c ) + s.files += %w( third_party/boringssl/crypto/dh/dh.c ) + s.files += %w( third_party/boringssl/crypto/dh/dh_asn1.c ) + s.files += %w( third_party/boringssl/crypto/dh/params.c ) + s.files += %w( third_party/boringssl/crypto/digest/digest.c ) + s.files += %w( third_party/boringssl/crypto/digest/digests.c ) + s.files += %w( third_party/boringssl/crypto/directory_posix.c ) + s.files += %w( third_party/boringssl/crypto/directory_win.c ) + s.files += %w( third_party/boringssl/crypto/dsa/dsa.c ) + s.files += %w( third_party/boringssl/crypto/dsa/dsa_asn1.c ) + s.files += %w( third_party/boringssl/crypto/ec/ec.c ) + s.files += %w( third_party/boringssl/crypto/ec/ec_asn1.c ) + s.files += %w( third_party/boringssl/crypto/ec/ec_key.c ) + s.files += %w( third_party/boringssl/crypto/ec/ec_montgomery.c ) + s.files += %w( third_party/boringssl/crypto/ec/oct.c ) + s.files += %w( third_party/boringssl/crypto/ec/p224-64.c ) + s.files += %w( third_party/boringssl/crypto/ec/p256-64.c ) + s.files += %w( third_party/boringssl/crypto/ec/p256-x86_64.c ) + s.files += %w( third_party/boringssl/crypto/ec/simple.c ) + s.files += %w( third_party/boringssl/crypto/ec/util-64.c ) + s.files += %w( third_party/boringssl/crypto/ec/wnaf.c ) + s.files += %w( third_party/boringssl/crypto/ecdh/ecdh.c ) + s.files += %w( third_party/boringssl/crypto/ecdsa/ecdsa.c ) + s.files += %w( third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c ) + s.files += %w( third_party/boringssl/crypto/engine/engine.c ) + s.files += %w( third_party/boringssl/crypto/err/err.c ) + s.files += %w( third_party/boringssl/crypto/evp/algorithm.c ) + s.files += %w( third_party/boringssl/crypto/evp/digestsign.c ) + s.files += %w( third_party/boringssl/crypto/evp/evp.c ) + s.files += %w( third_party/boringssl/crypto/evp/evp_asn1.c ) + s.files += %w( third_party/boringssl/crypto/evp/evp_ctx.c ) + s.files += %w( third_party/boringssl/crypto/evp/p_dsa_asn1.c ) + s.files += %w( third_party/boringssl/crypto/evp/p_ec.c ) + s.files += %w( third_party/boringssl/crypto/evp/p_ec_asn1.c ) + s.files += %w( third_party/boringssl/crypto/evp/p_rsa.c ) + s.files += %w( third_party/boringssl/crypto/evp/p_rsa_asn1.c ) + s.files += %w( third_party/boringssl/crypto/evp/pbkdf.c ) + s.files += %w( third_party/boringssl/crypto/evp/sign.c ) + s.files += %w( third_party/boringssl/crypto/ex_data.c ) + s.files += %w( third_party/boringssl/crypto/hkdf/hkdf.c ) + s.files += %w( third_party/boringssl/crypto/hmac/hmac.c ) + s.files += %w( third_party/boringssl/crypto/lhash/lhash.c ) + s.files += %w( third_party/boringssl/crypto/md4/md4.c ) + s.files += %w( third_party/boringssl/crypto/md5/md5.c ) + s.files += %w( third_party/boringssl/crypto/mem.c ) + s.files += %w( third_party/boringssl/crypto/modes/cbc.c ) + s.files += %w( third_party/boringssl/crypto/modes/cfb.c ) + s.files += %w( third_party/boringssl/crypto/modes/ctr.c ) + s.files += %w( third_party/boringssl/crypto/modes/gcm.c ) + s.files += %w( third_party/boringssl/crypto/modes/ofb.c ) + s.files += %w( third_party/boringssl/crypto/obj/obj.c ) + s.files += %w( third_party/boringssl/crypto/obj/obj_xref.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_all.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_info.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_lib.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_oth.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_pk8.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_pkey.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_x509.c ) + s.files += %w( third_party/boringssl/crypto/pem/pem_xaux.c ) + s.files += %w( third_party/boringssl/crypto/pkcs8/p5_pbe.c ) + s.files += %w( third_party/boringssl/crypto/pkcs8/p5_pbev2.c ) + s.files += %w( third_party/boringssl/crypto/pkcs8/p8_pkey.c ) + s.files += %w( third_party/boringssl/crypto/pkcs8/pkcs8.c ) + s.files += %w( third_party/boringssl/crypto/poly1305/poly1305.c ) + s.files += %w( third_party/boringssl/crypto/poly1305/poly1305_arm.c ) + s.files += %w( third_party/boringssl/crypto/poly1305/poly1305_vec.c ) + s.files += %w( third_party/boringssl/crypto/rand/rand.c ) + s.files += %w( third_party/boringssl/crypto/rand/urandom.c ) + s.files += %w( third_party/boringssl/crypto/rand/windows.c ) + s.files += %w( third_party/boringssl/crypto/rc4/rc4.c ) + s.files += %w( third_party/boringssl/crypto/refcount_c11.c ) + s.files += %w( third_party/boringssl/crypto/refcount_lock.c ) + s.files += %w( third_party/boringssl/crypto/rsa/blinding.c ) + s.files += %w( third_party/boringssl/crypto/rsa/padding.c ) + s.files += %w( third_party/boringssl/crypto/rsa/rsa.c ) + s.files += %w( third_party/boringssl/crypto/rsa/rsa_asn1.c ) + s.files += %w( third_party/boringssl/crypto/rsa/rsa_impl.c ) + s.files += %w( third_party/boringssl/crypto/sha/sha1.c ) + s.files += %w( third_party/boringssl/crypto/sha/sha256.c ) + s.files += %w( third_party/boringssl/crypto/sha/sha512.c ) + s.files += %w( third_party/boringssl/crypto/stack/stack.c ) + s.files += %w( third_party/boringssl/crypto/thread.c ) + s.files += %w( third_party/boringssl/crypto/thread_none.c ) + s.files += %w( third_party/boringssl/crypto/thread_pthread.c ) + s.files += %w( third_party/boringssl/crypto/thread_win.c ) + s.files += %w( third_party/boringssl/crypto/time_support.c ) + s.files += %w( third_party/boringssl/crypto/x509/a_digest.c ) + s.files += %w( third_party/boringssl/crypto/x509/a_sign.c ) + s.files += %w( third_party/boringssl/crypto/x509/a_strex.c ) + s.files += %w( third_party/boringssl/crypto/x509/a_verify.c ) + s.files += %w( third_party/boringssl/crypto/x509/asn1_gen.c ) + s.files += %w( third_party/boringssl/crypto/x509/by_dir.c ) + s.files += %w( third_party/boringssl/crypto/x509/by_file.c ) + s.files += %w( third_party/boringssl/crypto/x509/i2d_pr.c ) + s.files += %w( third_party/boringssl/crypto/x509/pkcs7.c ) + s.files += %w( third_party/boringssl/crypto/x509/t_crl.c ) + s.files += %w( third_party/boringssl/crypto/x509/t_req.c ) + s.files += %w( third_party/boringssl/crypto/x509/t_x509.c ) + s.files += %w( third_party/boringssl/crypto/x509/t_x509a.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_att.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_cmp.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_d2.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_def.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_ext.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_lu.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_obj.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_r2x.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_req.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_set.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_trs.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_txt.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_v3.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_vfy.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509_vpm.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509cset.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509name.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509rset.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509spki.c ) + s.files += %w( third_party/boringssl/crypto/x509/x509type.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_algor.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_all.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_attrib.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_crl.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_exten.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_info.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_name.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_pkey.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_pubkey.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_req.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_sig.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_spki.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_val.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_x509.c ) + s.files += %w( third_party/boringssl/crypto/x509/x_x509a.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_cache.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_data.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_lib.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_map.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_node.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/pcy_tree.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_akey.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_akeya.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_alt.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_bcons.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_bitst.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_conf.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_cpols.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_crld.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_enum.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_extku.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_genn.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_ia5.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_info.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_int.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_lib.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_ncons.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_pci.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_pcia.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_pcons.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_pku.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_pmaps.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_prn.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_purp.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_skey.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_sxnet.c ) + s.files += %w( third_party/boringssl/crypto/x509v3/v3_utl.c ) + s.files += %w( third_party/boringssl/ssl/custom_extensions.c ) + s.files += %w( third_party/boringssl/ssl/d1_both.c ) + s.files += %w( third_party/boringssl/ssl/d1_clnt.c ) + s.files += %w( third_party/boringssl/ssl/d1_lib.c ) + s.files += %w( third_party/boringssl/ssl/d1_meth.c ) + s.files += %w( third_party/boringssl/ssl/d1_pkt.c ) + s.files += %w( third_party/boringssl/ssl/d1_srtp.c ) + s.files += %w( third_party/boringssl/ssl/d1_srvr.c ) + s.files += %w( third_party/boringssl/ssl/dtls_record.c ) + s.files += %w( third_party/boringssl/ssl/pqueue/pqueue.c ) + s.files += %w( third_party/boringssl/ssl/s3_both.c ) + s.files += %w( third_party/boringssl/ssl/s3_clnt.c ) + s.files += %w( third_party/boringssl/ssl/s3_enc.c ) + s.files += %w( third_party/boringssl/ssl/s3_lib.c ) + s.files += %w( third_party/boringssl/ssl/s3_meth.c ) + s.files += %w( third_party/boringssl/ssl/s3_pkt.c ) + s.files += %w( third_party/boringssl/ssl/s3_srvr.c ) + s.files += %w( third_party/boringssl/ssl/ssl_aead_ctx.c ) + s.files += %w( third_party/boringssl/ssl/ssl_asn1.c ) + s.files += %w( third_party/boringssl/ssl/ssl_buffer.c ) + s.files += %w( third_party/boringssl/ssl/ssl_cert.c ) + s.files += %w( third_party/boringssl/ssl/ssl_cipher.c ) + s.files += %w( third_party/boringssl/ssl/ssl_file.c ) + s.files += %w( third_party/boringssl/ssl/ssl_lib.c ) + s.files += %w( third_party/boringssl/ssl/ssl_rsa.c ) + s.files += %w( third_party/boringssl/ssl/ssl_session.c ) + s.files += %w( third_party/boringssl/ssl/ssl_stat.c ) + s.files += %w( third_party/boringssl/ssl/t1_enc.c ) + s.files += %w( third_party/boringssl/ssl/t1_lib.c ) + s.files += %w( third_party/boringssl/ssl/tls_record.c ) + s.files += %w( third_party/zlib/crc32.h ) + s.files += %w( third_party/zlib/deflate.h ) + s.files += %w( third_party/zlib/gzguts.h ) + s.files += %w( third_party/zlib/inffast.h ) + s.files += %w( third_party/zlib/inffixed.h ) + s.files += %w( third_party/zlib/inflate.h ) + s.files += %w( third_party/zlib/inftrees.h ) + s.files += %w( third_party/zlib/trees.h ) + s.files += %w( third_party/zlib/zconf.h ) + s.files += %w( third_party/zlib/zlib.h ) + s.files += %w( third_party/zlib/zutil.h ) + s.files += %w( third_party/zlib/adler32.c ) + s.files += %w( third_party/zlib/compress.c ) + s.files += %w( third_party/zlib/crc32.c ) + s.files += %w( third_party/zlib/deflate.c ) + s.files += %w( third_party/zlib/gzclose.c ) + s.files += %w( third_party/zlib/gzlib.c ) + s.files += %w( third_party/zlib/gzread.c ) + s.files += %w( third_party/zlib/gzwrite.c ) + s.files += %w( third_party/zlib/infback.c ) + s.files += %w( third_party/zlib/inffast.c ) + s.files += %w( third_party/zlib/inflate.c ) + s.files += %w( third_party/zlib/inftrees.c ) + s.files += %w( third_party/zlib/trees.c ) + s.files += %w( third_party/zlib/uncompr.c ) + s.files += %w( third_party/zlib/zutil.c ) end diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index 60546486c2..3e01820a7b 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -90,7 +90,7 @@ unless File.exist?(File.join(grpc_lib_dir, 'libgrpc.a')) ENV['BUILDDIR'] = output_dir puts 'Building internal gRPC into ' + grpc_lib_dir - system("make -j -C #{grpc_root} static_c CONFIG=#{grpc_config}") + system("make -j -C #{grpc_root} #{grpc_lib_dir}/libgpr.a #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config}") exit 1 unless $? == 0 end diff --git a/src/ruby/lib/grpc.rb b/src/ruby/lib/grpc.rb index 7890e17551..8512856259 100644 --- a/src/ruby/lib/grpc.rb +++ b/src/ruby/lib/grpc.rb @@ -32,11 +32,7 @@ unless ENV['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] ENV['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = ssl_roots_path end -begin - require "grpc/#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc" -rescue LoadError - require 'grpc/grpc' -end +require 'grpc/loader' require 'grpc/errors' require 'grpc/logconfig' diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb index 6b9b785693..b907393fd2 100644 --- a/src/ruby/lib/grpc/generic/bidi_call.rb +++ b/src/ruby/lib/grpc/generic/bidi_call.rb @@ -28,7 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. require 'forwardable' -require 'grpc/grpc' +require 'grpc/loader' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb index dd90d8d91d..5dfb5c96fe 100644 --- a/src/ruby/lib/grpc/generic/rpc_desc.rb +++ b/src/ruby/lib/grpc/generic/rpc_desc.rb @@ -27,7 +27,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/grpc' +require 'grpc/loader' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/generic/rpc_server.rb b/src/ruby/lib/grpc/generic/rpc_server.rb index 410156ff03..22490567f9 100644 --- a/src/ruby/lib/grpc/generic/rpc_server.rb +++ b/src/ruby/lib/grpc/generic/rpc_server.rb @@ -27,7 +27,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/grpc' +require 'grpc/loader' require 'grpc/generic/active_call' require 'grpc/generic/service' require 'thread' diff --git a/src/ruby/lib/grpc/loader.rb b/src/ruby/lib/grpc/loader.rb new file mode 100644 index 0000000000..9e04908d88 --- /dev/null +++ b/src/ruby/lib/grpc/loader.rb @@ -0,0 +1,34 @@ +# Copyright 2015-2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +begin + require "grpc/#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc" +rescue LoadError + require 'grpc/grpc' +end diff --git a/templates/grpc.gemspec.template b/templates/grpc.gemspec.template index f015e539be..9d034ddba1 100644 --- a/templates/grpc.gemspec.template +++ b/templates/grpc.gemspec.template @@ -50,8 +50,8 @@ s.extensions = %w(src/ruby/ext/grpc/extconf.rb) % for lib in libs: - % if lib.name in ('gpr', 'grpc'): - % for file in lib.public_headers + lib.headers + lib.src: + % if lib.name in ruby_gem.get('deps', []): + % for file in lib.get('public_headers', []) + lib.headers + lib.src: s.files += %w( ${file} ) % endfor % endif |