2022-04-10 21:12:00 -07:00

2.4 KiB

description
This guide will help you set up all prerequisites to develop on OpenMetadata.

Prerequisites

OpenMetadata being a full stack project, we use the following for development:

Here is a snapshot of a working environment on a Macbook.

> docker --version
Docker version 20.10.8, build 3967b7d

> mvn -version
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: /usr/local/Cellar/maven/3.8.2/libexec
Java version: 11.0.11, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac"

> java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)

>  make -version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0
> python --version
Python 3.9.9

> node --version
v17.3.0

> yarn --version
1.22.17

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

git clone https://github.com/open-metadata/OpenMetadata
cd openmetadata
python3 -m venv env
source env/bin/activate  
make install_dev
make install_test precommit_install

OpenMetadata API Backend

We use Java for developing OpenMetadata backend server. Following are the key technologies that we use for the backend: