Contributing to protobuf-dt

Want to contribute? Great! First, read this page (including the small print at the end).

Before you contribute

Before we can use your code, you must sign the Google Individual Contributor License Agreement (CLA), which you can do online.

The CLA is necessary mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also need to be sure of various other things — for instance that you‘ll tell us if you know that your code infringes on other people’s patents. You don‘t have to sign the CLA until after you’ve submitted your code for review and a member has approved it, but you must do it before we can put your code into our codebase.

Before you start working on a larger contribution, you should get in touch with us first. Use the issue tracker to explain your idea so we can help and possibly guide you.

Code reviews and other contributions

All submissions, including submissions by project members, require review.

Changes to protobuf-dt must be reviewed before they are accepted, no matter who makes the change. A custom git command called git-codereview, discussed below, helps manage the code review process through a Google-hosted instance of the code review system called Gerrit.

Set up authentication for code review

Gerrit uses Google Accounts for authentication. If you don't have a Google Account, you can create an account which includes a new Gmail email account or create an account associated with your existing email address.

The email address associated with the Google Account you use will be recorded in the change log and in the contributors file.

To set up your account in Gerrit, visit protobuf-dt.googlesource.com and click on “Generate Password” in the page's top right menu bar.

You will be redirected to the google accounts page to sign in.

Once signed in, you are returned back to protobuf-dt.googlesource.com to “Configure Git”. Follow the instructions on the page. (If you are on a Windows computer, you should instead follow the instructions in the yellow box to run the command.)

Your secret authentication token is now in a .gitcookie file and Git is configured to use this file.

Register with Gerrit

Now that you have your authentication token, you need to register your account with Gerrit. To do this, visit protobuf-dt-review.googlesource.com/login. You will immediately be redirected to Google Accounts. Sign in using the same Google Account you used above. That is all that is required.

Compiling the code

Download the Eclipse Installer.

Run it.

If you see a yellow exclamation mark in the top-right, it means the installer is out-of-date. Click on the exclamation mark and then click on the word UPDATE. After the installer finishes updating, it will restart and you can continue with these steps.

Click the menu button in the upper-right corner.

Select “ADVANCED MODE...”.

Select “Eclipse IDE for Eclipse Committers”.

Select “Latest (Neon)”.

Click Next.

This page is titled “Product”. Click the little green “+” near the top-right of the screen.

Paste this link into the box titled “Resource URIs:”.

https://raw.githubusercontent.com/google/protobuf-dt/master/releng/ProtobufEditor.setup

Click OK.

Click the checkbox next to “Protobuf Editor”.

Click Next.

In “Target Platform”, select “Neon”.

Click Finish.

Wait for Eclipse to install, then click Finish to close the wizard. Wait for the build to finish.

Expand com.google.eclipse.protobuf.generator/src/com.google.eclipse.protobuf.

Right-click on GenerateProtobuf.mwe2 and select “Run As > MWE2 Workflow”.

The small print

Contributions made by corporations are covered by a different agreement than the one above, the Software Grant and Corporate Contributor License Agreement.