Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Your output should look something like the following:
✅ JAVA_11_HOME is set to /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home.
✅ JAVA_17_HOME is set to /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home.
✅ JAVA_21_HOME is set to /Library/Java/JavaVirtualMachines/zulu-21.jdk/Contents/Home.
JAVA_24_HOME is set to /Library/Java/JavaVirtualMachines/zulu-24.jdk/Contents/Home.
JAVA_25_HOME is set to /Library/Java/JavaVirtualMachines/zulu-25.jdk/Contents/Home.
✅ JAVA_GRAALVM17_HOME is set to /Library/Java/JavaVirtualMachines/graalvm-ce-java17-22.3.1/Contents/Home.
ℹ️ Checking git configuration:
✅ The git command line is installed.
Expand All @@ -52,16 +52,19 @@ If there is any issue with your output, check the requirements above and use the

Requirements to build the full project:

* The JDK versions 8, 11, 17, 21, and 24 must be installed.
* The `JAVA_8_HOME`, `JAVA_11_HOME`, `JAVA_17_HOME`, `JAVA_21_HOME`, `JAVA_24_HOME`, and `JAVA_GRAALVM17_HOME` must point to their respective JDK location.
* The JDK versions 8, 11, 17, 21, and 25 must be installed.
* The `JAVA_8_HOME`, `JAVA_11_HOME`, `JAVA_17_HOME`, `JAVA_21_HOME`, `JAVA_25_HOME`, and `JAVA_GRAALVM17_HOME` must point to their respective JDK location.
* The JDK 8 `bin` directory must be the only JDK on the PATH (e.g. `$JAVA_8_HOME/bin`).
* The `JAVA_HOME` environment variable may be unset. If set, it must point to the JDK 8 location (same as `JAVA_8_HOME`).
* The `git` command line must be installed.
* A container runtime environment must be available to run all tests (e.g. Docker Desktop).

### Install the required JDKs

Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your OS.
Download and install JDK versions 8, 11, 17, 21 and 25, and GraalVM 17 for your OS.

> [!NOTE]
> While Temurin JDK 25 from [Eclipse Temurin releases](https://adoptium.net/temurin/releases/) has not been released, please download the OpenJDK EA version at [this link](https://jdk.java.net/25/). Add the required environment variable using an `export` command along the lines of `export JAVA_25_HOME=/Library/Java/JavaVirtualMachines/jdk-25.jdk/Contents/Home`. Then, confirm that this was set properly by executing `echo $JAVA_25_HOME`.

#### macOS

Expand All @@ -85,7 +88,7 @@ Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
export JAVA_17_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
export JAVA_21_HOME=/Library/Java/JavaVirtualMachines/zulu-21.jdk/Contents/Home
export JAVA_24_HOME=/Library/Java/JavaVirtualMachines/zulu-24.jdk/Contents/Home
export JAVA_25_HOME=/Library/Java/JavaVirtualMachines/zulu-25.jdk/Contents/Home
export JAVA_GRAALVM17_HOME=/Library/Java/JavaVirtualMachines/graalvm-<current version of graalvm>/Contents/Home
export JAVA_HOME=$JAVA_8_HOME
```
Expand All @@ -101,23 +104,23 @@ Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your

#### Linux

* Download and extract JDK 8, 11, 17, 21, and 24 from [Eclipse Temurin releases](https://adoptium.net/temurin/releases/) and GraalVM 17 from [Oracle downloads](https://www.graalvm.org/downloads/).
* Download and extract JDK 8, 11, 17, 21, and 25 from [Eclipse Temurin releases](https://adoptium.net/temurin/releases/) and GraalVM 17 from [Oracle downloads](https://www.graalvm.org/downloads/).
* Install the GraalVM native image requirements for native builds by following [the GraalVM official documentation](https://www.graalvm.org/latest/reference-manual/native-image/#prerequisites).
* Add the required environment variables to your shell using the `export` command. You can permanently install the environment variables by appending the `export` commands into your shell configuration file `~/.zshrc` or `~/.bashrc` or other.
```shell
export JAVA_8_HOME=/<path to extracted archive>/jdk8u<current version of JDK 8>
export JAVA_11_HOME=/<path to extracted archive>/jdk-11.<current version of JDK 11>
export JAVA_17_HOME=/<path to extracted archive>/jdk-17.<current version of JDK 17>
export JAVA_21_HOME=/<path to extracted archive>/jdk-21.<current version of JDK 21>
export JAVA_24_HOME=/<path to extracted archive>/jdk-24.<current version of JDK 24>
export JAVA_25_HOME=/<path to extracted archive>/jdk-25.<current version of JDK 25>
export JAVA_GRAALVM17_HOME=/<path to extracted archive>/graalvm-jdk-17.<current version of graalvm>/Contents/Home
export JAVA_HOME=$JAVA_8_HOME
```
* Restart your shell after applying the changes if you appended the commands to your shell configuration file.

#### Windows

* Download and install JDK 8, 11, 17, 21, and 24 [Eclipse Temurin releases](https://adoptium.net/temurin/releases/).
* Download and install JDK 8, 11, 17, 21, and 25 [Eclipse Temurin releases](https://adoptium.net/temurin/releases/).

<details>
<summary>Alternatively, install JDKs using winget or scoop. (click here to expand)</summary>
Expand All @@ -127,7 +130,7 @@ Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your
winget install --id EclipseAdoptium.Temurin.11.JDK
winget install --id EclipseAdoptium.Temurin.17.JDK
winget install --id EclipseAdoptium.Temurin.21.JDK
winget install --id EclipseAdoptium.Temurin.24.JDK
winget install --id EclipseAdoptium.Temurin.25.JDK
```

```pwsh
Expand All @@ -136,7 +139,7 @@ Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your
scoop install temurin11-jdk
scoop install temurin17-jdk
scoop install temurin21-jdk
scoop install temurin24-jdk
scoop install temurin25-jdk
```

</details>
Expand All @@ -147,7 +150,7 @@ Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your
[Environment]::SetEnvironmentVariable("JAVA_11_HOME", "C:\Program Files\Eclipse Adoptium\jdk-11.0.25.9-hotspot", [EnvironmentVariableTarget]::User)
[Environment]::SetEnvironmentVariable("JAVA_17_HOME", "C:\Program Files\Eclipse Adoptium\jdk-17.0.12.7-hotspot", [EnvironmentVariableTarget]::User)
[Environment]::SetEnvironmentVariable("JAVA_21_HOME", "C:\Program Files\Eclipse Adoptium\jdk-21.0.5.11-hotspot", [EnvironmentVariableTarget]::User)
[Environment]::SetEnvironmentVariable("JAVA_24_HOME", "C:\Program Files\Eclipse Adoptium\jdk-24.0.1.9-hotspot", [EnvironmentVariableTarget]::User)
[Environment]::SetEnvironmentVariable("JAVA_25_HOME", "C:\Program Files\Eclipse Adoptium\jdk-25.0.1.9-hotspot", [EnvironmentVariableTarget]::User)

# JAVA_HOME = JAVA_8_HOME
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-8.0.432.6-hotspot", [EnvironmentVariableTarget]::User)
Expand Down
2 changes: 1 addition & 1 deletion setup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ TestJvm 'JAVA_8_HOME' '1.8'
TestJvm 'JAVA_11_HOME' '11'
TestJvm 'JAVA_17_HOME' '17'
TestJvm 'JAVA_21_HOME' '21'
TestJvm 'JAVA_24_HOME' '24'
TestJvm 'JAVA_25_HOME' '25'
# GraalVM cannot currently be installed due to license change in October 2024 for GraalVM 17.0.13 and later.
# TestJvm 'JAVA_GRAALVM17_HOME' '17'

Expand Down
2 changes: 1 addition & 1 deletion setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ check-jvm "JAVA_8_HOME" "1.8"
check-jvm "JAVA_11_HOME" "11"
check-jvm "JAVA_17_HOME" "17"
check-jvm "JAVA_21_HOME" "21"
check-jvm "JAVA_24_HOME" "24"
check-jvm "JAVA_25_HOME" "25"
check-jvm "JAVA_GRAALVM17_HOME" "17"


Expand Down
Loading