Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 2.45 KB

Development.md

File metadata and controls

36 lines (24 loc) · 2.45 KB

Development guide

Theta is written in Java 17 using

Releases and versioning

Theta uses semantic versioning in a MAJOR.MINOR.PATCH format, e.g., v1.2.3. Binaries are uploaded to major/minor releases, but (currently) not for patches. Any change that is not visible from the user's perspective (e.g., the frontends), should be a patch increment (e.g., bugfixes, small performance improvements). Changes visible to the user (e.g., a new option in an algoritmh) should be at least minor increment, but if the change is big enough (e.g., new formalism, new tool) a major increment can be performed. We usually develop on separate branches and increment the version number just before merging to the main branch.

Forking the repository

As the main repository is read-only, we suggest you to create your own fork. Within your fork, we also recommend to create new branches for your development. This enables us later on to easily integrate your work into the main repository by using pull requests.

As the framework is under development, we suggest you to sync your fork often and rebase your development branch(es) onto the master branch.

Building

See Build.md.

Developing in IntelliJ IDEA

  • Theta can be imported into IntelliJ IDEA as an existing Gradle project by selecting the build.gradle.kts file in the root of the repository.
  • If you want to build the whole project (and not just run a single test for example), make sure to run the build task of the whole project. This can be done by opening the Gradle tab, and then selecting theta / theta / Tasks / build / build, right clicking and selecting Run.
  • Code styling and copyright noticing should be automatically set up for the ones accepted by the Github CI. It is not recommended to change them.

Coding conventions

See Coding-conventions.md.