Development setup

Development environment and tools

Developers are free to choose the tools they feel most comfortable with. However, the following tools are recommended:

  • IntelliJ IDEA[1] for working with the code

    • Toolbox App for installing JetBrains products and managing IDE versions

  • SDKMAN for managing JDKs

  • Docker and Docker Compose for managing (development) containers

  • lab, if you want to interact with GitLab via the command-line (optional)

Developers should also be familiar with Gradle, our build management tool, as well as Asciidoctor, our documentation tool. (Both do not need to be installed.)

Gradle is provided with the repository and does not need to be installed separately. The gradlew wrapper script can be used to call it from the command-line. (IntelliJ IDEA will automatically pick it up.)

Asciidoctor is installed via a Gradle plug-in and can be run from Gradle by executing the asciidoctor task.

Programming language and libraries

Developers should be familiar with the following languages, frameworks and/or libraries used by the ORKG backend:

Downloading JavaDoc artifacts

If you like reading the documentation and sources inside IDEA, Gradle needs to download the javadoc and sources artifacts of all dependencies. You can set downloadJavadoc=true and downloadSources=true in your personal Gradle properties file, located at ~/.gradle/gradle.properties. If not set, Gradle is configured to not download the documentation (to be consistent with the default behavior).


1. Ultimate Edition is recommended due to Spring integration. TIB/L3S members should contact their group leaders for a license.