Skip to content

HacKeYthon Hints

Wolfram Pfeifer edited this page Feb 20, 2024 · 5 revisions

Hints for the HacKeYthon

Work in Groups

A good group workflow for the HacKeYthon would be as follows:

  1. Fork the main repo of KeY (https://github.com/KeYProject/key).
  2. If you want to work together on in a group, you can invite the others to your fork.
  3. When the work is done, and you have a finished feature/bug fix, please create a pull request (with a suitable description) into the main repo of KeY.

Project Board

  • If you are working on an issue that is listed in the project board, please move it to the according stage ("In Progress", "Done"), such that others know it is being worked on/finished.
  • If you can not edit the board directly, please ask somebody from the core team.

General KeY Development

  • For development, we recommend to use IntelliJ IDEA or Eclipse.
  • Please make sure that you do not use features from Java versions newer than Java 17.
  • For a pull request to be merged, the code needs to adhere to our code style guidelines. You can apply our automatic formatter to the code via ./gradlew spotlessApply.
  • For every PR that is created, there are lots of tests (formatting/code style, unit tests, integration tests, ...) that are run automatically and will usually take at least 90 min in total. PRs will only be merged if this pipeline succeeds. However, it is a good idea to look at the results early, as some checks are quite fast (compatibility with Java 17, formatting, ...).
  • In general, various information (about developing as well as using KeY) can be found on our docs page: https://keyproject.github.io/key-docs/devel/.