Fork and clone the repository if haven't done so already
git clone https://github.com/{username}/datahub.git
Change into the repository's root directory
cd datahub
Use gradle wrapper to build the project
./gradlew build
The recommended IDE for DataHub development is IntelliJ IDEA. You can run the following command to generate or update the IntelliJ project file
./gradlew idea
Open datahub.ipr
in IntelliJ to start developing!
For consistency please import and auto format the code using LinkedIn IntelliJ Java style.
You're probably using a Java version that's too new for gradle. Run the following command to check your Java version
java --version
While it may be possible to build and run DataHub using newer versions of Java, we currently only support Java 1.8 (aka Java 8). Plan for Java 11 migration is being discussed in this issue.
Similar to the previous issue, please use Java 1.8 to build the project.
You can install multiple version of Java on a single machine and switch between them using the JAVA_HOME
environment variable. See this document for more details.
:metadata-models:generateDataTemplate
task fails with java.nio.file.InvalidPathException: Illegal char <:> at index XX
or Caused by: java.lang.IllegalArgumentException: 'other' has different root
error
This is a known issue when building the project on Windows due a bug in the Pegasus plugin. Please build on a Mac or Linux instead.
As we generate quite a few files from the models, it is possible that old generated files may conflict with new model changes. When this happens, a simple ./gradlew clean
should reosolve the issue.
This generally means that an incompatible change was introduced to the rest.li API in GMS. You'll need to rebuild the snapshots/IDL by running the following command once
./gradlew :gms:impl:build -Prest.model.compatibility=ignore