Unitex/GramLab project decision-making is based on a community meritocratic process. Anyone with an interest in Unitex/GramLab can join the community, contribute to the project design and participate in decisions. See http://unitexgramlab.org/how-to-contribute for more detailed information on how to start contributing to Unitex/GramLab.
You are welcome to contribute by forking this repository and sending pull requests with your changes.
If you want to contribute to this project, you need first learn about git. Here are some great resources to learn git and GitHub:
- https://gitimmersion.com
- https://learngitbranching.js.org/
- http://marklodato.github.io/visual-git-guide/index-en.html
- http://ndpsoftware.com/git-cheatsheet.html
- https://github.com/progit/progit2/releases/latest/download/progit.pdf
The recommended workflow to contribute is:
-
Clone your fork locally
git clone https://github.com/YOUR_GITHUB_USERNAME/gramlab-ide.git
-
Configure the upstream remote. To do this, add the remote location of the main
gramlab-ide
repository under the nameupstream
. This will allow you later to keep your fork up to dategit remote add upstream git://github.com/UnitexGramLab/gramlab-ide.git git fetch upstream
-
Create a local branch for your changes
git checkout -b my-changes origin/master
Use a short and descriptive name for your branch. If you plan to develop a new feature or enhancement, name your branch as
feature/DESCRIPTIVE-NAME
, if you plan to fix a bug, name your branch asfix/N
whereN
corresponds to an issue number, e.g.fix/5
-
Install and test the IDE
To install and test the IDE you need first to download the Unitex Core executable (
UnitexToolLogger
). The easiest way to do this is to grab a full Unitex/GramLab release for your platform. After this you should do:cd gramlab-ide export UNITEX_BUILD_RELEASE_DIR=/path/to/unitexgramlab-release ant install
Before testing,
- make sure that
UnitexToolLogger
is located at/path/to/unitexgramlab-release/App/UnitexToolLogger
, - download one or several of the available languages directly
from https://unitexgramlab.org/releases/latest-stable/lingua/
into
/path/to/unitexgramlab-release/
, as sibling directories toApp
.
- make sure that
-
For non-trivial changes, if it doesn't already exist, create a new issue
-
Edit the files and compile your code following the How to Build instructions
-
Make sure git knows your name and email address, e.g.
git config --global user.name "John Doe" git config --global user.email "[email protected]"
-
Commit your code following the Commit Message Guidelines
-
Make sure your fork is up to date
git checkout master git pull upstream master
-
Rebase your local branch
git checkout my-changes git rebase master
-
Push your changes to your remote repository on GitHub
git push origin
-
Go to
https://github.com/YOUR_GITHUB_USERNAME/gramlab-ide
and Request a pull