Environment setup

Detailed prerequisites for the environment

Overview

Joule is designed to operate with the latest available releases of dependencies and tools, ensuring it incorporates the most current technologies and industry-standard bug fixes.

To get started, ensure you have the necessary prerequisites, including Java Development Kit (JDK), Git and your preferred scripting language. Use Gradle only when you move to building new functionalities in Joule.

For advanced options, consider using GraalVM to enable multi-language support within Joule.

Requirements break down

JDK

Install OpenJDK 17

Preferred implementation GraalVM CE 22.3.0. Using GraalVM is optional.

GraalVM offers enhanced performance for applications and enables multi-language support, which can be beneficial for using dynamic scripting languages within Joule.

openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08)
OpenJDK 64-Bit Server VM GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08, mixed mode, sharing)

Install Languages

To use the dynamic scripting processors with preferred languages these need to be installed using the below commands. Using GraalVM is optional.

Official documentation

gu available
gu install js
gu install nodejs
gu install python

Gradle

Install Gradle 7.6

Gradle is required to manage Joule’s build lifecycle. It provides build automation for multi-language applications, enhancing the overall development process.

------------------------------------------------------------
Gradle 7.6
------------------------------------------------------------

Build time:   2022-11-25 13:35:10 UTC
Revision:     daece9dbc5b79370cc8e4fd6fe4b2cd400e150a8

Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          19.0.1 (Azul Systems, Inc. 19.0.1+10)
OS:           Mac OS X 13.0.1 x86_64

Git

Git is essential for cloning and managing Joule repositories. Ensure you have the latest version installed to avoid compatibility issues with repository operations.

Last updated