
Internal documentation on LanguageTool

** How to add a new committer **

-if someone sends more than two good patches (no matter if code or rules), offer them commit access, 
 asking for their sourceforge username
-add them as a committer on sourceforge
-ask them to follow the instructions on http://languagetool.wikidot.com/rules-for-new-committers
-welcome them on the mailing list and twitter
-ask them to make a first commit, e.g. adding themselves as a maintainer in <Language>.java, if appropriate

** How to make a LanguageTool release **

-make an SVN update
-update the i18n property files by running ./i18n_update.sh and commit any changes
-create release branch:
 svn cp https://languagetool.svn.sourceforge.net/svnroot/languagetool/trunk/JLanguageTool https://languagetool.svn.sourceforge.net/svnroot/languagetool/branches/V_x_y
 and work in that branch
-set version number in build.properties
-set JLanguageTool.VERSION in JLanguageTool.java
-update CHANGES files
-update README file (e.g. list of supported languages)
-make sure there are no other local changes left that are not committed
-run "ant test"
-run "ant" 
-test command line application, OOo integration, and stand-alone GUI version
 with at least these test sentences: 
    I've got allot of questions to you. (en)
    Seit 10 Jahre. (de)
    El agua es de gratis. (es)
    Je voudrais ajouter en plus quelque chose. (fr)
    Ovviamente... è tutto a gratis! (it)
    Hij is de gene die het fout doet. (nl)
    Kupiłem wino chciałem też pić wodę. (pl)
    Стоимость работ составила 10 тыс рублей. (ru)
-upload to the server:
    -dist/*.oxt, dist/README.txt and dist/CHANGES.txt to "download"
    -link the release:
     cd /home/languagetool/languagetool.org/www/download && rm LanguageTool-stable.oxt && ln -s LanguageTool-1.X.oxt LanguageTool-stable.oxt
    -run "ant javadoc" and upload dist/docs/api/* to "development"
-run "ant jnlp" (note you need file myalias.p12 with the certificate to do this;
 for security reasons it is not in the repository.)
-upload to the server:
    -dist/web/ to www/webstart/web/ (resulting from "ant jnlp")
-commit local version number changes etc. to SVN
-tag release as V_x_y, e.g. V_1_3:
 svn cp https://languagetool.svn.sourceforge.net/svnroot/languagetool/branches/V_x_y https://languagetool.svn.sourceforge.net/svnroot/languagetool/tags/V_x_y
 (or in Eclipse: 'Team -> Tag as Version' on the JLanguageTool project)
-merge changes back to trunk:
 svn merge https://languagetool.svn.sourceforge.net/svnroot/languagetool/tags/V_x_y/ (call this in trunk)
-build.properties, JLanguageTool.VERSION in JLanguageTool.java in trunk:
    -set to next version: x.y-dev

-update website
    -index.php (remember to also set $lastmod)
    -languages/index.php (run org.languagetool.dev.RuleOverview,
     remember to also set $lastmod)
    -languagetool.update.xml (active only if it's linked in description.xml)
    -add the new version number to Sourceforge's bug tracker
     (Project Admin -> Features -> Tracker -> Manage -> Bugs -> Add/Update Groups)
    -update roadmap at http://languagetool.wikidot.com/roadmap

-write announcements:
    -LanguageTool mailing list
    -http://extensions.services.openoffice.org/project/languagetool
    -http://extensions.libreoffice.org/extension-center/languagetool
    -freecode.com (formerly freshmeat)
    -http://twitter.com/languagetoolorg
    -http://www.languagetool.org/forum/
    -Daniel's blog
    -Polish blog: morfologik.blogspot.com
    -pl.openoffice.org

Community update of the Wikipedia data on community.languagetool.org (needs server access):

 -unzip the current release in /home/languagetool/ltcommunity/corpus/code
 -if the CheckWikipediaDump.java itself has changed, upload the *.class files built by Eclipse
  to /home/languagetool/ltcommunity/corpus/org/languagetool/dev/wikipedia/ 
 -in /home/languagetool/ltcommunity/corpus, call ./check-all.sh

Community update of the rules at community.languagetool.org (needs server access):

 -create a new JAR of the rules and resources of the current release:
   zip -r LanguageTool-Rules.jar resource/ rules/
 -make a backup of the libs:
  cp /home/languagetool/tomcat/webapps/ROOT/WEB-INF/lib/*.jar /home/languagetool/tomcat/backup/
 -copy the newly created LanguageTool-Rules.jar and LanguageTool.jar from the current release to
  /home/languagetool/tomcat/webapps/ROOT/WEB-INF/lib
 -maybe update the other JARs, too
 -restart tomcat
 