Prerequisites
This guide will help you set up all prerequisites to develop on OpenMetadata.
OpenMetadata being a full stack project, we use the following for development:
- Docker 20 or higher
- Java JDK 17
- Antlr 4.9.2 -
sudo make install_antlr_cli
- JQ -
brew install jq
(osx)apt-get install jq
(Ubuntu) - Maven 3.5.x or higher - (with Java JDK 11)
- Python 3.7, 3.8 or 3.9
- Node 18.x
- Yarn ^1.22.0
- Rpm (Optional, only to run RPM profile with maven)
To validate the installation of the above tools, you can run:
Example Snapshot on a Macbook
Install pre-commit hooks
We use pre-commit hooks to run checkstyle for Java and Python and format it as per our coding style.
Please install the following to format the code during the git commit process
OpenMetadata API Backend
We use Java for developing OpenMetadata backend server. Following are the key technologies that we use for the backend:
- jsonschema2pojo for Java code generation
- Dropwizard for the web service application
- JDBI3 for database access