-
Notifications
You must be signed in to change notification settings - Fork 315
3. Contributing to JPlag
Timur Sağlam edited this page Sep 16, 2022
·
5 revisions
We're happy to incorporate all improvements to JPlag into this codebase. Feel free to fork the project and send pull requests. If you are new to JPlag, maybe check the good first issues.
Please try to make well-documented and clear structured submissions:
- All artifacts (code, comments...) should be in English
- Please avoid abbreviations!
- Make use of JavaDoc to document classes and public methods
- We provide a formatter configuration, which is enforced by spotless
- Eclipse/IntelliJ users can use it directly
- It can always be applied via maven with
mvn spotless:apply
- Use well-explained pull requests to propose your features
- When re-using code from other projects mark them accordingly and make sure their license allows the re-use
- Your changes should always improve the code quality of the codebase, especially when working on older components
- Your git messages should be concise but more importantly descriptive
- Download or clone the code from this repository.
- Run
mvn clean package
from the root of the repository to compile and build all submodules. Runmvn clean package assembly:single
instead if you need the full jar which includes all dependencies. - You will find the generated JARs in the subdirectory
jplag/target
.
Adding a new language frontend is quite simple. Have a look at one of the jplag.frontend
projects. All you need is a parser for the language (e.g., for ANTLR or for JavaCC) and a few lines of code that send the tokens (that are generated by the parser) to JPlag.
TODO more documentation here