mirror of https://github.com/grpc/grpc.git
commit
dc40babc5c
19 changed files with 5477 additions and 76 deletions
@ -0,0 +1,53 @@ |
||||
# How to contribute |
||||
|
||||
We definitely welcome patches and contribution to grpc! Here is some guideline |
||||
and information about how to do so. |
||||
|
||||
## Getting started |
||||
|
||||
### Legal requirements |
||||
|
||||
In order to protect both you and ourselves, you will need to sign the |
||||
[Contributor License Agreement](https://cla.developers.google.com/clas). |
||||
|
||||
### Technical requirements |
||||
|
||||
You will need several tools to work with this repository. In addition to all of |
||||
the packages described in the [INSTALL](INSTALL) file, you will also need |
||||
python, and the mako template renderer. To install the latter, using pip, one |
||||
should simply be able to do `pip install mako`. |
||||
|
||||
In order to run all of the tests we provide, you will need valgrind and clang. |
||||
More specifically, under debian, you will need the package libc++-dev to |
||||
properly run all the tests. |
||||
|
||||
If you are planning to work on any of the languages other than C and C++, you |
||||
will also need their appropriate development environments. |
||||
|
||||
If you want to work under Windows, we recommend you to use Visual Studio 2013. |
||||
The [Community or Express editions](http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) |
||||
are free and suitable for developing with grpc. Note however that our test |
||||
environment and tools are available for Unix environments only at the moment. |
||||
|
||||
## Testing your changes |
||||
|
||||
We provide a tool to help you run our suite of tests in various environments. |
||||
In order to run most of the available tests, one would need to run: |
||||
|
||||
`./tools/run_tests/run_tests.py` |
||||
|
||||
If you want to run all the possible tests for all possible languages, do this: |
||||
|
||||
`./tools/run_tests/run_tests.py -lall -call` |
||||
|
||||
## Adding or removing source code |
||||
|
||||
Each language uses its own build system to work. Currently, the root's Makefile |
||||
and the Visual Studio project files are building the C and C++ source code only |
||||
at the moment. In order to ease the maintenance of these files, we have a |
||||
template system. Please do not contribute manual changes to any of the generated |
||||
files. Instead, modify the template files, or the build.json file, and |
||||
re-generate the project files using the following command: |
||||
|
||||
`./tools/buildgen/generate_projects.sh` |
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,13 @@ |
||||
# Dockerfile to build Debian packages for gRPC C core. |
||||
FROM grpc/base |
||||
|
||||
# Install dependencies |
||||
RUN apt-get update && apt-get install -y lintian |
||||
|
||||
# Get the source from GitHub |
||||
RUN git clone git@github.com:grpc/grpc.git /var/local/git/grpc |
||||
RUN cd /var/local/git/grpc && \ |
||||
git pull --recurse-submodules && \ |
||||
git submodule update --init --recursive |
||||
|
||||
RUN /bin/bash -l -c 'cd /var/local/git/grpc/tools/distpackages && ./build_deb_packages.sh' |
@ -0,0 +1,31 @@ |
||||
# Dockerfile for gRPC Ruby, but using Debian packages for gRPC C core. |
||||
FROM grpc/ruby_base |
||||
|
||||
# Pull the latest sources |
||||
RUN cd /var/local/git/grpc \ |
||||
&& git pull --recurse-submodules \ |
||||
&& git submodule update --init --recursive |
||||
|
||||
# Make sure we don't rely on things that shouldn't be there. |
||||
RUN make clean -C /var/local/git/grpc |
||||
|
||||
# Debian packages need to be supplied externally |
||||
ADD libgrpc_amd64.deb libgrpc_amd64.deb |
||||
ADD libgrpc-dev_amd64.deb libgrpc-dev_amd64.deb |
||||
|
||||
# Install the C core .deb packages |
||||
RUN /bin/bash -l -c 'dpkg -i libgrpc_amd64.deb libgrpc-dev_amd64.deb' |
||||
|
||||
# Build ruby gRPC and run its tests |
||||
RUN /bin/bash -l -c 'cd /var/local/git/grpc/src/ruby && bundle && rake' |
||||
|
||||
# Add a cacerts directory containing the Google root pem file, allowing the |
||||
# ruby client to access the production test instance |
||||
ADD cacerts cacerts |
||||
|
||||
# Add a service_account directory containing the auth creds file |
||||
ADD service_account service_account |
||||
|
||||
# Specify the default command such that the interop server runs on its known |
||||
# testing port |
||||
CMD ["/bin/bash", "-l", "-c", "ruby /var/local/git/grpc/src/ruby/bin/interop/interop_server.rb --use_tls --port 8060"] |
@ -0,0 +1,5 @@ |
||||
GRPC RUBY Base Dockerfile (Debian package version) |
||||
======================== |
||||
|
||||
Dockerfile for creating the Ruby gRPC development Docker instance. |
||||
Uses gRPC C core Debian packages instead of installing it using make. |
Loading…
Reference in new issue