Contributing to Heron

Discussion about Heron happens on GitHub and over the mailing list.

Community is critical to Heron. Contributions are welcomed!

How Can I Contribute to Heron?

You can first read the following pages to have a basic understanding of Heron:

Heron includes a script to bootstrap an IntelliJ IDEA project. The project includes support for Heron code styles and copyright headers.

To bootstrap an IDEA project run the following from the root folder of the repo::

$ ./scripts/setup-intellij.sh

Alternatively, you may install the Bazel plugin from the Intellij Marketplace and utilize it to automatically configure the IDE.

  1. File -> Import Bazel Project...
  2. Workspace: Select the root folder for the Heron codebase.
  3. Generate from BUILD file: select the BUILD file in the Heron source root directory.
  4. Finish.

This will open up the Heron project and initiate a Bazel build. Once completed the IDE should be fully configured.

To bootstrap an Eclipse project fun the following from the root folder of the repo:

$ ./scripts/setup-eclipse.sh

In general, contributions that fix bugs or add features (as opposed to stylistic, refactoring, or “cleanup” changes) are preferred. If you're looking for places to contribute, issues with label help-wanted are good candidates. Please check with the mailing list if your patch involves lots of changes.

If you have any question or issues about troubleshooting, you should post on mailing list instead of opening GitHub issues.

Submitting a Patch

  1. Discuss your plan and design, and get agreement on mailing list.

  2. Implement proper unit tests along with your change. Verify that all tests can pass.

  3. Submit a GitHub pull request that includes your change and test cases. Describe clearly in your pull request the changes made. Verify that Travis CI passes.

  4. Complete a code review by addressing the reviewer's comments.

  5. A project committer will merge the patch to the master branch.