Developing Avatica
Want to help add a feature or fix a bug?
Source code
You can get the source code by downloading a release or from source control.
Calcite uses git for version control. The canonical source is in Apache, but most people find the GitHub mirror more user-friendly.
Download source, build, and run tests
Prerequisites are Git, and Java (JDK 8 or later) on your path.
Create a local copy of the git repository, cd
to its root directory,
then build using maven:
$ git clone git@github.com:apache/calcite-avatica.git
$ cd calcite-avatica
$ ./gradlew build
The HOWTO describes how to build from a source distribution, run more or fewer tests and run integration tests.
Contributing
We welcome contributions.
If you are planning to make a large contribution, talk to us first! It helps to agree on the general approach. Log a JIRA case for your proposed feature or start a discussion on the dev list.
Fork the github repository, and create a branch for your feature.
Develop your feature and test cases, and make sure that
./gradlew build
succeeds. (Run extra tests if your change warrants it.)
Commit your change to your branch, and use a comment that starts with the JIRA case number, like this:
[CALCITE-345] AssertionError in RexToLixTranslator comparing to date literal
If your change had multiple commits, use git rebase -i main
to
squash them into a single commit, and to bring your code up to date
with the latest on the main line.
Then push your commit(s) to github, and create a pull request from your branch to the calcite main branch. Update the JIRA case to reference your pull request, and a committer will review your changes.
Getting started
Calcite is a community, so the first step to joining the project is to introduce yourself. Join the developers list and send an email.
If you have the chance to attend a meetup, or meet members of the community at a conference, that’s also great.
Choose an initial task to work on. It should be something really simple, such as a bug fix or a Jira task that we have labeled “newbie”. Follow the contributing guidelines to get your change committed.
After you have made several useful contributions we may invite you to become a committer. We value all contributions that help to build a vibrant community, not just code. You can contribute by testing the code, helping verify a release, writing documentation or the web site, or just by answering questions on the list.