# Documentation

## JGit

The JGit project generates a project report and javadocs using a Maven site. This Maven site is deployed to http://download.eclipse.org/jgit/site/${project.version}. E.g. http://download.eclipse.org/jgit/site/4.4.1.201607150455-r/

Generating the site:

    $ mvn site:site

Staging the site locally under ./target/staging:

    $ mvn site:stage

If you can connect to build.eclipse.org over ssh (ask webmaster if you are a committer and need ssh access) you can deploy a local build of the site:

    $ mvn site:deploy

The site is deployed under http://download.eclipse.org/jgit/site/${project.version}

To select the ssh key to use for deploying over ssh add the following section to your Maven settings.xml:

    <server>
         <id>jgit.website</id>
         <username>username</username>
         <privateKey>${user.home}/.ssh/id_rsa</privateKey>
         <password>{<encrypted passphrase>}</password>
         <filePermissions>664</filePermission>
         <directoryPermissions>775</directoryPermissions>
         <configuration></configuration>
    </server>

Password encryption for Maven is described in https://maven.apache.org/guides/mini/guide-encryption.html

To deploy the site from JGit HIPP (Hudson) at https://hudson.eclipse.org/jgit/ enable the Maven profile build-server and add the Maven goals site:site site:deploy.

If you uploaded the site for a new release update the index /home/data/httpd/download.eclipse.org/jgit/docs/latest/apidocs/index.html to refer to the new release's site.

## EGit

The EGit project sources its documentation from the wiki and generates Eclipse help content from it (under the covers, we are using Mylyn WikiText to make this possible). This significantly lowers the barrier for people to contribute documentation to the EGit project. To contribute documentation, simply modify the EGit User's Guide. Have a look at the Style Guidelines and Eclipse Documentation Style Guide to get some guidance on how to write good documentation. More on that can be found here.

The documentation is contained in the org.eclipse.egit.doc plug-in. The build-help.xml drives the generation of the help content. It is integrated into the maven build. The regular maven build of org.eclipse.egit.doc

    $ mvn clean install

will only package the help content committed to the egit repository. To update the help content by downloading the latest documentation from the wiki run

    $ mvn clean install -Dupdate.egit.doc

Don't forget to check all the generated help pages and especially all hyperlinks and images before pushing the updated help to the code review system for inclusion into the continuous build.

The aim is to generate new documentation every month or so (or just on demand). If you're making big changes or want the documentation refreshed, please let us know on the egit-dev mailing list.