Skip to content

Contributing to Soot

Manuel Benz edited this page Apr 16, 2018 · 16 revisions

Branches

Currently, Soot follows the git-flow branching model. This means that there are two main branches, master and develop. Master usually only points to stable release versions. Most people use the develop branch to get hands-on latest features but only in beta version, that gets updated on daily basis. On release the stable develop version is merged into the Master branch.

All our nightly tests and builds operate on develop branch.

Pull Request

To fix a problem in Soot or to contribute to Soot you can fork the Soot project on GitHub. This will generate a personal cloned repository for you to work on. To reincorporate your changes into Soot after they have been completed and tested, just send us a pull request. This will allow us to review your changes and merge them into the develop branch.

Pull requests will have to conform to our coding style guidelines which are as close as possible* to the Google Java Style Guide. Our build server will reject pull requests that do not comply to our guidelines.

Tutorials on how to apply automatic formatting and style enhancements can be found here:

Formatting is checked by the Maven Checkstyle plugin. One can run the checks by invoking mvn validate. Since the checks are performed in Maven's validate phase, each subsequent phase will also fail if the codebase does not comply to our coding style guidelines. If one wants to ignore styling issues during building, it is sufficient to change the failsOnError property of the maven-checkstyle-plugin plguin to false. However, if you want to feed back your code as a pull request, make sure to apply formatting and that executing maven test successfully terminates (with failOnError set).

Mailing List

In case, if you have any queries regarding SOOT, please refer to the link below. You can start by first registering yourself and you can then post related questions. It really helps us to figure out the problem if you post the reference code along with the question or bug/error in your code.

http://www.sable.mcgill.ca/mailman/listinfo/soot-list/

In the link below, you can also find all the queries posted in the past and may help you find an answer to your query.

http://www.sable.mcgill.ca/pipermail/soot-list/


*Unfortunately, we have to lower some of the original rules by Google since applying to those would lead to a lot of client-breaking changes due to Soot beeing maintained without any guidelines for a long time now.

Clone this wiki locally