Skip to content

Tools for code contributors

Git and GitHub

Git is an open source version control system. The Egeria project uses git to:

  • Store all of the source code, documentation and other file-based resources.
  • Track changes to the underlying Egeria code as the project evolves
  • Track issues and enhancements, and link these back to the code changes that resolve them
  • Collaborate on and review the issues, enhancements and code changes

As a result, it gives us a definitive source for the latest and greatest source code for Egeria itself, its history, and the rationale behind various decisions that are made over time.

Egeria's git repositories on GitHub

The Egeria project's git repositories are located on GitHub . GitHub is a free, public git service for sharing code and related files. It has a web interface to make it easier for the Egeria community to monitor the activity in the project and process new content.

Egeria has the following repositories:

Repository Purpose
egeria contains the core Egeria function along with samples, tutorials and documentation.
egeria-connector-xtdb contains a plugin repository connector to use XTDB as a pluggable back-end for an Egeria metadata access store.
egeria-connector-hadoop-ecosystem contains connectors to integrate technologies from the Hadoop ecosystem into the open metadata ecosystem.
egeria-connector-ibm-information-server contains connectors to integrate IBM Information Server into the open metadata ecosystem.
data-governance contains Egeria's Guidance on Governance (GoG) as well as large media files such as presentations and movies.
egeria-dev-projects contains fun projects for developers to help them learn about the Egeria technology.
egeria-palisade contains content from the collaboration between the Egeria project and the Palisade project.

All of these repositories are publicly visible. However, if you want to contribute new content then you need to create a GitHub account. This can be done from the top of the GitHub home page .

Further information

Interested to learn more?

IntelliJ IDEA

IntelliJ IDEA by JetBrains is the Interactive Development Environment (IDE) used by most of the Egeria developers. The community edition is free to use and covers all the function needed by an Egeria developer.

We provide our own tutorial for IntelliJ.

Apache Maven and Gradle

Apache Maven is the tool that supports our project build. This includes the code compilation, running unit tests, validating dependencies and Javadoc as well as build our distribution archive.

Maven 3.5 or higher is required to build Egeria. 3.6.x or above is recommended.

Gradle is an alternative build tool to Maven and offers:

  • better support for parallel builds
  • more flexibility for build tasks
  • breaking the link between directory structure and maven artifacts
  • extremely fast incremental builds

Our direction is for a Gradle build to replace Maven; however, that work is still underway . As such, our supported build environment remains Maven

The building Egeria tutorial covers more details on the build process.