Before you try to build, make sure you have the correct tools, and have configured these tools correctly. See Prerequisite for more details.
Get the Source
For either the Mifos X Financial Service Engine, or the Mifos X Community App getting the source is similar.
Master and Develop branches
By default when using git you will always have a branch named 'master'. On Mifos X we use another branch for any current development which we want to put in the next release. It is called 'develop'. You should checkout this branch also.
- master: represents the latest stable release of Mifos X.
- develop: represents the bleeding edge development changes planned for next release of Mifos X.
Initial setup
If you dont have a github account already then you need to sign up and create one on on github.com (free accounts are fine).
Once you have a github account, the next step is to fork https://github.com/openMF/mifosx or https://github.com/openMF/community-app.git.
See https://help.github.com/articles/fork-a-repo for help on forking in github.
Clone the repository
Create a directory in which you want the cloned project to exist within: e.g. in directory c:/dev/githubrepos/
git clone [fork repository url]
See https://help.github.com/articles/which-remote-url-should-i-use.
When a repository is cloned, it has a default remote called origin that points to your fork on GitHub, not the original repository it was forked from. To keep track of the original repository, you should add another remote named upstream:
The easiest way is to use the https url:
git remote add upstream https://github.com/openMF/[mifosx | community-app].git
or if you have ssh set up you can use that url instead:
git remote add upstream git@github.com:openMF/[mifosx | community-app].git
Keep up to date
There will be development changes to both repositories almost every day for the foreseeable future so its important to keep your fork of the software up to date with the latest changes.
To pull in upstream changes from repository you forked:
git checkout develop
git fetch upstream
git merge upstream/develop
Once you have pulled all latest changes and your build was successful, push the just merged changes to the develop branch on your fork.