This is the default OpenLMIS git-repo manifest.
This repository and the git-repo tool is currently expirementally being used for OpenLMIS 2.0 for limited modularity support
- Install and familiarize yourself with git-repo.
- Make a directory for OpenLMIS and init repo within it:
> mkdir openlmis
> cd openlmis
> repo init -u https://github.com/OpenLMIS/openlmis-repo
- If you don't have permissions to contribute directly to OpenLMIS on GitHub, create a fork for potential future pull-requests, then reference your forked repository in a local manifest of git-repo:
- create local manifest dir:
```shell
> mkdir .repo/local_manifests
> touch .repo/local_manifests/forked_openlmis.xml
```
- in
forked_openlmis.xml
reference your fork (replace with your GitHub account):
```xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="forked-origin" fetch="https://github.com/<yourUserName>"/>
<remove-project name="open-lmis"/>
<project name="open-lmis"
revision="dev"
remote="forked_origin"
path="."/>
</manifest>
```
- Download OpenLMIS & standard module sources:
> repo sync
track OpenLMIS dev branch (for non-forked projects):
> git checkout --track openlmis-origin/dev
OR if you are using a forked OpenLMIS repository upstream (see step 3):
> git checkout --track forked-origin/dev
- Create a new module and write your source by following the instructions in the module-template project.
- Manage your new module with repo by adding it to your local-manifest. e.g.:
- Ensure your local-manifest directory exists
mkdir .repo/local_manifests/
- Make a manfiest file for your module
deliver
in.repo/local_manifests/deliver.xml
:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="https://github.com/"/>
<default revision="refs/heads/master"
remote="github"/>
<project name="<yourUserName>/deliver"
remote="github"
path="modules/deliver"/>
</manifest>
```
*replace `yourName` with the account name you have your module at.
e.g. https://github.com/yourName/deliver*
- Customize your manifest further so that you properly commit sources to your modules while still tracking OpenLMIS for the latest and greatest.