GeoMesa is a suite of tools for working with big geo-spatial data in a distributed fashion. GeoMesa's main focus is a GeoTools DataStore implementation backed by Apache Accumulo, but it also supports streaming data with Apache Kafka, distributed processing with Apache Spark, tools for converting and ingesting data, and much more.
Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).
GeoMesa code is hosted on GitHub, and the project is hosted at locationtech:
GeoMesa uses JIRA to track ongoing development and issues:
GeoMesa requires Maven 3.2.2 or later to build:
geomesa> mvn clean install
GeoMesa uses git pull requests for contributions. To create a pull request, follow these steps:
- Contributions to GeoMesa must reference a valid JIRA ticket. Contact the GeoMesa developers list about opening a ticket, or to have a ticket assigned to you.
- Fork the GeoMesa project on GitHub - go to https://github.com/locationtech/geomesa and click 'Fork'.
- Create a branch on your forked project that contains your work. See 'Coding Standards', below.
- Use GitHub to open a pull request against the locationtech GeoMesa repository - from your branch on GitHub, click 'New Pull Request'.
- Respond to comments on your pull request as they are made.
- When ready, your pull request will be merged by an official GeoMesa contributor.
- An initial pull request should consist of a single commit, rebased on top of the current master branch.
- Additional commits can be added in response to code review comments.
- The commit message must consist of a JIRA ticket number followed by a short description, with additional information in bullets below as required.
- The commit must be signed-off, which indicates that you are taking responsibility for all code contained
in the commit. This can be done with the
git commit -s
flag. - Code must be reasonably formatted. Scala does not conform well to automatic formatting, but in general GeoMesa tries to adhere to the official Scala style guide: http://docs.scala-lang.org/style/
- Code must contain an appropriate license header. GeoMesa is licensed under Apache 2. When a file is created, the contributor should indicate their copyright in the header.
- GeoMesa uses the License Maven Plugin (http://code.mycila.com/license-maven-plugin/) to help manage copyright headers. In order to handle various headers, files can be put in the
build/
directory and referenced in avalidHeaders
block in the root pom.xml.
- GeoMesa uses the License Maven Plugin (http://code.mycila.com/license-maven-plugin/) to help manage copyright headers. In order to handle various headers, files can be put in the
- Code should include unit tests when appropriate.
Contact the GeoMesa developers via the developers mailing list:
For user information, use the users mailing list: