Development Setup

This document provides a best practice for general development setup, we suggest to use this practice on your first try for code contribution.

It is based on Docker and simple for preparation, no root privilege needed except for Docker and Git installation.

  • Install Git on your system Git-scm
  • First-Time Git Setup
    $ git config --global "<Your Name>"
    $ git config --global "<Your Email Address>"
  • Install Docker on your system Docker Official Website
  • Install IDE on your Linux/MacOS/Windows box IntelliJ IDEA Official Website
  • Register an account on Github for yourself if not yet have one
  • Log into Github and fork Apache Mnemonic repository. Fork and Set up Git
  • Configure Apache Mnemonic repo. as upstream remote in your local repository
    $ cd <your_project_folder>
    $ git remote add upstream
  • Prepare Mnemonic Docker image on you system
    $ docker build -t mnedev
    $ # --------- OR --------- 
    $ docker build -t mnedev
  • Mount your host repo. to Docker container, this following command would hide the original Mnemonic project folder in container
    $ docker run -it -v <mnemonic_project_folder>:/ws/mnemonic mnedev
  • Open Mnemonic project in the IDE

After setup, you are able to edit project code on your host while compiling and test your code in isolated Docker environment. Please leave enough space for docker based compiling and testing (>30G for test running)