diff options
author | ctiller <ctiller@google.com> | 2015-01-07 12:13:17 -0800 |
---|---|---|
committer | Nicolas Noble <nnoble@google.com> | 2015-01-09 17:23:18 -0800 |
commit | e4b409364e4c493a66d4b2a6fe897075aa5c174e (patch) | |
tree | 29467626f50aea49e072e15004dd141625146709 /src/ruby/README.md | |
parent | 8232204a36712553b9eedb2dacab13b7c38642c6 (diff) |
Add a --forever flag, to continuously run tests as things change.
Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83451760
Diffstat (limited to 'src/ruby/README.md')
-rwxr-xr-x | src/ruby/README.md | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/src/ruby/README.md b/src/ruby/README.md index 23aec2b20a..3a5c50819b 100755 --- a/src/ruby/README.md +++ b/src/ruby/README.md @@ -20,25 +20,67 @@ DEPENDENCIES The extension can be built and tested using [rake](https://rubygems.org/gems/rake). However, the rake-extensiontask rule is not supported on older versions of rubygems, and the necessary version of -rubygems. +rubygems is not available on the latest version of Goobuntu. This is resolved by using [RVM](https://rvm.io/) instead; install a single-user -ruby environment, and develop on the latest stable version of ruby (2.1.5). +ruby environment, and develop on the latest stable version of ruby (2.1.2). + + +* Proto code generation + +To build generate service stubs and skeletons, it's currently necessary to use +a patched version of a beefcake, a simple third-party proto2 library. This is +feature compatible with proto3 and will be replaced by official proto3 support +in protoc. + +* Patched protoc + +The patched version of beefcake in turn depends on a patched version of protoc. +This is an update of the latest open source release of protoc with some forward +looking proto3 patches. INSTALLATION PREREQUISITES -------------------------- +Install the patched protoc + +$ cd <git_repo_dir> +$ git clone sso://team/one-platform-grpc-team/protobuf +$ cd protobuf +$ ./configure --prefix=/usr +$ make +$ sudo make install + +Install an update to OpenSSL with ALPN support + +$ wget https://www.openssl.org/source/openssl-1.0.2-beta3.tar.gz +$ tar -zxvf openssl-1.0.2-beta3.tar.gz +$ cd openssl-1.0.2-beta3 +$ ./config shared +$ make +$ sudo make install + Install RVM +$ # the -with-openssl-dir ensures that ruby uses the updated version of SSL $ command curl -sSL https://rvm.io/mpapis.asc | gpg --import - $ \curl -sSL https://get.rvm.io | bash -s stable --ruby $ $ # follow the instructions to ensure that your're using the latest stable version of Ruby $ # and that the rvm command is installed $ +$ rvm reinstall 2.1.5 --with-openssl-dir=/usr/local/ssl $ gem install bundler # install bundler, the standard ruby package manager +Install the patched beefcake, and update the Gemfile to reference + +$ cd <git_repo_dir> +$ git clone sso://team/one-platform-grpc-team/grpc-ruby-beefcake beefcake +$ cd beefcake +$ bundle install +$ + HACKING ------- |