Here are some tips for new LanguageTool committers:
- Subscribe to the forum to stay up-to-date, or follow the forum feed.
- In your very first commit, add this text to the commit message.
- Be aware that every change to the code and the rules that don't break the unit tests will automatically go live on languagetool.org each day at about 21:15 CET. As we have more than one server, changes are deployed only to a fraction of the servers for about 1 hour. During this time, you might get inconsistent results.
- You might want to watch the LanguageTool projects at github (some issues are discussed in the bug tracker and not on our forum)
- Your commits should not break anything:
- Get the latest updates from master via
git pull -r
(rebase). This will prevent the ugly merge commits you get when you just dogit pull
. - If you have issues with git, ask for help on our forum. Never use
git's
--force
option. - For Java changes, consider the style guide.
- Before committing, always run the JUnit tests (
mvn clean test
ortestrules.sh xx
/testrules.bat xx
if you've only modified the XML rules, withxx
being the language code). See Maven tips for hints about how to speed this up. - Before you push your changes, you will want to check them.
gitk
works fine for that.
- Get the latest updates from master via
- Committing large files (e.g. binary files) will grow the git history, and they can basically never be removed. So if you think you need to commit large files, discuss this on the forum first.
- If you write a new piece of Java code, add a JUnit test.
- If you make non-trivial changes, document them in
languagetool-standalone/CHANGES.md
. - User interface translations are done using webtranslateit, so please don't modify the translated MessageBundle files directly in git.
- If your commit only affects one language, start your commit message
with
[xx]
, wherexx
is the language code (likeen
for English) - If your code involves a major change to some core functionality (changing XML markup of the rules, adding a new feature, changing important APIs), ask on the forum before you work on it.
- Be aware of our Roadmap and the feature freezes.