To release version X do the following steps:

* rake sure there are no uncommitted changes
* run: `mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version X>`
* refresh category.xml (to point to feature in right version)
* update access credentials in .m2/settings.xml for 'cppcheck-p2-repo' server:
  (...)
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
        <localRepository>/home/<user>>/.m2/repository</localRepository>
        <interactiveMode/>
        <offline/>
        <pluginGroups/>
        <mirrors/>
        <proxies/>
        <profiles/>
        <activeProfiles/>
        <servers>
            <server>
                <id>cppcheck-p2-repo</id>
                <username>user</username>
                <password>pass</password>
            </server>
        </servers>
    </settings>
  (...)
* run `mvn clean install -P upload-p2-repo` (if you want to override ftp url run `mvn clean install -P upload-p2-repo -Dftp.url=<new_url>`)
* tag the git repo (from local workspace)
* run `mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version X+1>-SNAPSHOT`
* afterwards the category.xml has to be updated manually, due to the changed version of the referenced feature commit