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
4 changes: 2 additions & 2 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Set up JDK 21
- name: Set up JDK 22
uses: actions/setup-java@v4
with:
java-version: '21'
java-version: '22'
distribution: 'temurin'

- name: Setup Gradle
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# For instructions on building and running this Docker image,
# please refer to docs/DOCKER.md

# Use Eclipse Temurin JDK 21 as the base image
FROM eclipse-temurin:21-jdk AS build
# Use Eclipse Temurin JDK 22 as the base image
FROM eclipse-temurin:22-jdk AS build

# Install Maven
RUN apt-get update && \
Expand All @@ -19,10 +19,10 @@ COPY . .
RUN mvn clean package

# Use Eclipse Temurin JDK image to run the application
FROM eclipse-temurin:21-jdk
FROM eclipse-temurin:22-jdk

# Copy the built JAR file from the Maven container
COPY --from=build /app/target/perlonjava-3.0.0.jar /app/perlonjava.jar
COPY --from=build /app/target/perlonjava-5.42.0.jar /app/perlonjava.jar

# Set the entry point to run the JAR file
ENTRYPOINT ["java", "-jar", "/app/perlonjava.jar"]
8 changes: 4 additions & 4 deletions QUICKSTART.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Get PerlOnJava running in 5 minutes.

## Prerequisites

- **Java Development Kit (JDK) 21 or later**
- **Java Development Kit (JDK) 22 or later**
- **Git** for cloning the repository
- **Make** (optional - can use Gradle directly)

Expand All @@ -14,7 +14,7 @@ Check your Java version:
```bash
java -version
```
Should show version 21 or higher.
Should show version 22 or higher.

**Important:** Check you have the **JDK** (not just JRE):
```bash
Expand All @@ -26,8 +26,8 @@ Should show the same version. If `javac: command not found`, you need to install
- Use your system's package manager, or
- Download from a JDK provider (Adoptium, Oracle, Azul, Amazon Corretto, etc.)
- Common package manager commands:
- **macOS**: `brew install openjdk@21`
- **Ubuntu/Debian**: `sudo apt install openjdk-21-jdk`
- **macOS**: `brew install openjdk@22`
- **Ubuntu/Debian**: `sudo apt install openjdk-22-jdk`
- **Windows**: Use package manager like [Chocolatey](https://chocolatey.org/) or [Scoop](https://scoop.sh/)

## Installation
Expand Down
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ ospackage {
packageName = 'perlonjava'
version = project.version
maintainer = 'Flavio Soibelmann Glock <fglock@gmail.com>'
// Java 21+ is required at runtime (any distribution: Oracle, Azul, Temurin, OpenJDK, etc.)
// Java 22+ is required at runtime (any distribution: Oracle, Azul, Temurin, OpenJDK, etc.)

into '/opt/perlonjava'
from('build/install/perlonjava') {
Expand All @@ -137,10 +137,10 @@ ospackage {
link('/usr/local/bin/jperl', '/opt/perlonjava/bin/jperl')
}

// Java toolchain configuration - requires Java 21
// Java toolchain configuration - requires Java 22 (for FFM API)
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
languageVersion = JavaLanguageVersion.of(22)
}
}

Expand All @@ -159,7 +159,7 @@ dependencies {
implementation libs.snakeyaml.engine // YAML processing
implementation libs.tomlj // TOML processing
implementation libs.commons.csv // CSV processing
implementation libs.jnr.posix // Native access
// JNR-POSIX removed - using Java FFM API for native access (Java 22+)

// Testing dependencies
testImplementation libs.junit.jupiter.api
Expand Down
Loading
Loading