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:
||contains the core Egeria function along with samples, tutorials and documentation.|
||contains a plugin repository connector to use XTDB as a pluggable back-end for an Egeria metadata access store.|
||contains connectors to integrate technologies from the Hadoop ecosystem into the open metadata ecosystem.|
||contains connectors to integrate IBM Information Server into the open metadata ecosystem.|
||contains Egeria's Guidance on Governance (GoG) as well as large media files such as presentations and movies.|
||contains fun projects for developers to help them learn about the Egeria technology.|
||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 .
Interested to learn more?
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
The building Egeria tutorial covers more details on the build process.