You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Framework**: Spring Boot 3.5.7, Spring WebClient (reactive)
17
17
-**Code Style**: Google Java Style Guide enforced via CheckStyle
@@ -22,6 +22,32 @@ xAPI Java is a library that helps you create applications that send or receive x
22
22
23
23
## Building and Testing
24
24
25
+
### Setting Up Java 25
26
+
27
+
#### Using SDKMAN (Recommended)
28
+
29
+
To ensure you have the correct Java version, use SDKMAN to pin a specific JVM identifier. SDKMAN identifiers vary by OS and CPU architecture, so first discover available Java 25 builds:
30
+
31
+
```bash
32
+
# List all Java 25 versions available for your platform
33
+
sdk list java | grep 25
34
+
35
+
# Install a specific Temurin 25 build (example identifier - check your platform)
36
+
sdk install java 25.0.1-tem
37
+
38
+
# Set it as default
39
+
sdk default java 25.0.1-tem
40
+
41
+
# Or use it just for this shell session
42
+
sdk use java 25.0.1-tem
43
+
```
44
+
45
+
**Note**: The identifier `25.0.1-tem` is an example for Eclipse Temurin. Run `sdk list java` to find the exact identifier for your platform (OS and architecture). Other distributions like GraalVM, Amazon Corretto, or Zulu may use different identifiers like `25.0.1-graal`, `25.0.1-amzn`, or `25.0.1-zulu`.
46
+
47
+
#### Using GitHub Codespaces or DevContainers
48
+
49
+
If you're using GitHub Codespaces or a local devcontainer, Java 25 will be automatically configured. See the [DevContainer Setup](#devcontainer-setup) section below.
50
+
25
51
### Build Commands
26
52
27
53
```bash
@@ -46,6 +72,42 @@ Always run the full build before starting work to ensure you understand the curr
46
72
./mvnw clean verify
47
73
```
48
74
75
+
## DevContainer Setup
76
+
77
+
For contributors using GitHub Codespaces or local devcontainers, this project includes a `.devcontainer/devcontainer.json` configuration that automatically sets up Java 25. This ensures a consistent development environment across all contributors.
78
+
79
+
### Example DevContainer Configuration
80
+
81
+
The project's devcontainer uses the official DevContainers Java feature to install Java 25 and includes SDKMAN for flexibility:
- Uses the official DevContainers Java feature to install Java 25
107
+
- Includes SDKMAN for manual version management if needed
108
+
- Attempts to install a specific Temurin 25 build as a fallback (the `|| true` ensures the container still builds if the specific identifier isn't available)
0 commit comments