Skip to content
Draft

Jdk25 #3839

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
12 changes: 6 additions & 6 deletions .github/workflows/alarm-logger-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup Maven and Java Action
uses: s4u/setup-maven-action@v1.18.0
with:
java-version: '21'
java-version: '25'
maven-version: '3.9.6'
- name: Build
run: mvn --batch-mode install -DskipTests
Expand All @@ -30,30 +30,30 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn --batch-mode --update-snapshots package
- name: Login to the registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract meta-data for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Set up Docker Build
uses: docker/setup-buildx-action@v3
- name: Build and publish the Docker image
uses: docker/build-push-action@v5
with:
with:
context: services/alarm-logger
push: true
platforms: linux/amd64,linux/arm64
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/alarm-server-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup Maven and Java Action
uses: s4u/setup-maven-action@v1.18.0
with:
java-version: '21'
java-version: '25'
maven-version: '3.9.6'
- name: Build
run: mvn --batch-mode install -DskipTests
Expand All @@ -30,30 +30,30 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn --batch-mode --update-snapshots package
- name: Login to the registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
registry: ${{ env.REGISTRY}}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract meta-data for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Set up Docker Build
uses: docker/setup-buildx-action@v3
- name: Build and publish the Docker image
uses: docker/build-push-action@v5
with:
with:
context: services/alarm-server
push: true
platforms: linux/amd64,linux/arm64
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: Setup Maven and Java Action
uses: s4u/setup-maven-action@v1.18.0
with:
java-version: '21'
java-version: '25'
maven-version: '3.9.6'
- name: Build
run: mvn --batch-mode install -DskipTests
run: mvn --batch-mode install -DskipTests
2 changes: 1 addition & 1 deletion .github/workflows/build_latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Setup Maven and Java Action
uses: s4u/setup-maven-action@v1.18.0
with:
java-version: '21'
java-version: '25'
maven-version: '3.9.6'
- name: Build
run: mvn --batch-mode install -DskipTests
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/save-and-restore-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,30 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn --batch-mode --update-snapshots package
- name: Login to the registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract meta-data for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Set up Docker Build
uses: docker/setup-buildx-action@v3
- name: Build and publish the Docker image
uses: docker/build-push-action@v5
with:
with:
context: services/save-and-restore
push: true
platforms: linux/amd64,linux/arm64
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/scan-server-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- name: Setup Maven and Java Action
uses: s4u/setup-maven-action@v1.18.0
with:
java-version: '17'
java-version: '25'
maven-version: '3.9.6'
- name: Build
run: mvn -Pexecutable-jar --batch-mode install -DskipTests
Expand All @@ -31,30 +31,30 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '25'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn -Pexecutable-jar --batch-mode --update-snapshots package
- name: Login to the registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract meta-data for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Set up Docker Build
uses: docker/setup-buildx-action@v3
- name: Build and publish the Docker image
uses: docker/build-push-action@v5
with:
with:
context: services/scan-server
push: true
platforms: linux/amd64,linux/arm64
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ sudo: required
language: java
dist: xenial
jdk:
- openjdk21
- openjdk25

services:
- xvfb
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://control-system-studio.readthedocs.io


## Requirements
- [JDK21 or later, suggested is OpenJDK](https://adoptium.net/en-GB/temurin/releases?version=21).
- [JDK 25 or later, suggested is OpenJDK](https://adoptium.net/en-GB/temurin/releases?version=25).
- [maven 3.x](https://maven.apache.org/) or [ant](http://ant.apache.org/)


Expand All @@ -27,7 +27,7 @@ mvn clean verify -f dependencies/pom.xml
Define the JAVA_HOME environment variable to point to your Java installation directory.
Mac OS users should use something like:
```
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.0.11+10/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-25/Contents/Home
```
Verify through:
```
Expand Down Expand Up @@ -73,14 +73,14 @@ Download "Eclipse for Java Developers" from https://www.eclipse.org/downloads/pa

Start Eclipse like this:

export JAVA_HOME=/path/to/your/jdk-21-or-later
export JAVA_HOME=/path/to/your/jdk-25-or-later
export PATH="$JAVA_HOME/bin:$PATH"
eclipse/eclipse -consoleLog

Check Eclipse Preferences:

* Java, Installed JREs: JDK 21-or-later should be the default
* Java, Compiler: JDK Compliance should be "21" or higher
* Java, Installed JREs: JDK 25-or-later should be the default
* Java, Compiler: JDK Compliance should be "25" or higher


### Use plain Java configuration
Expand Down Expand Up @@ -112,7 +112,7 @@ In Help/Eclipse Marketplace, search for Maven Integration for Eclipse Luna or ne
Use File/Import/Maven/Existing Maven Projects to import the phoebus source code.

There can be a compiler error because the "JRE System Library" in the Package Explorer shows "[J2SE-1.4]".
Right click on the affected projects (greeting-app, probe), Build Path, Configure Build Path, Libraries, Edit the JRE System Library to use the Workspace default (jdk-21).
Right click on the affected projects (greeting-app, probe), Build Path, Configure Build Path, Libraries, Edit the JRE System Library to use the Workspace default (jdk-25).
Restart Eclipse IDE.

Can now start product/src/main/java/org.phoebus.product/Launcher.java.
Expand All @@ -126,14 +126,14 @@ To import the project:
* Select the Phoebus directory
* Import project from external model: Maven
* Accept the default options and click Next twice
* Ensure that the JDK is version 21 or above
* Ensure that the JDK is version 25 or above
* Change the project name to Phoebus and click finish

To run the Phoebus application:

* Run | Edit Configurations...
* Select + | Application
* Module: Your JRE 21
* Module: Your JRE 25
* Classpath `-cp`: select `product` from drop-down
* Main class: `org.phoebus.product.Launcher`
* Set the name to Phoebus
Expand All @@ -145,7 +145,7 @@ To run the Phoebus application:

First download [NetBeans 9](https://netbeans.apache.org/download/nb90/nb90.html),
then the target platform as described above. After running NetBeans, select
**Tools** ➜ **Java Platforms** and make sure that a Java 9 or 10 platform is set as
**Tools** ➜ **Java Platforms** and make sure that a Java 25 platform is set as
the default one.

To open the Maven project Select the **File** ➜ **Open Project…** and select the
Expand Down
2 changes: 1 addition & 1 deletion app/queue-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ A JavaFX-based client for the [Bluesky QueueServer](https://blueskyproject.io/bl

### Prerequisites

- **Java 21** or later
- **Java 25** or later
- **Maven** (for building from source)
- **Bluesky Queue Server** running and accessible

Expand Down
12 changes: 5 additions & 7 deletions phoebus-product/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The following use cases have been verified:

#### Prerequisites

* A working Phoebus build environment, i.e. JDK 11 and Maven.
* A working Phoebus build environment, i.e. JDK 25 and Maven.
* `jpackage` must be run on the same OS as the target OS, i.e. cross builds are not supported.
* JDK 14 or newer.
* On Windows you also need to install the "WiX" tools, available here: https://wixtoolset.org/.
Expand All @@ -51,7 +51,7 @@ The following use cases have been verified:
5. Determine a version for your application, in the following referred to as `app_version`.
6. For Window installers determine a menu group in which the application will be placed. If the group does not
exist, it will be created.
7. Identify the path to the Java 11 SDK. In the following referred to as `<jdk_root>`. See below for additional
7. Identify the path to the Java 25 SDK. In the following referred to as `<jdk_root>`. See below for additional
information on the selecttion of target Java runtime.

##### `jpackage` build step 1
Expand Down Expand Up @@ -91,10 +91,9 @@ and MacOS at the European Spallation Source.

### Selection of target Java runtime
During build (step 1) a target Java runtime is specified. If this option (`--runtime-image`) is omitted, `jpackage` will
bundle the Java runtime containing the `jpackage` tool, i.e. Java 14+. Tests on Windows shows that the
target runtime selection may impact the end result, i.e. the Phoebus application installed from the msi file.
For instance, while the Java runtime Adopt JDK 11.0.9 can be bundled into a working installation,
Adopt JDK 11.0.12 will not work when Phoebus is launched. On MacOS Adopt JDK 11.0.12 works fine.
bundle the Java runtime containing the `jpackage` tool, i.e. Java 14+. Tests on Windows show that the
target runtime selection may impact the end result, i.e. the Phoebus application installed from the msi file.
When preparing installers, validate the exact JDK 25 runtime you plan to bundle on each supported OS.

### Application signing
Starting from MacOS 13.2 (possibly from 13.0), installer packages must be signed for a hassle-free installation process.
Expand All @@ -112,4 +111,3 @@ Developer Program may request/create such certificates.

`


14 changes: 7 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
<epics.version>7.0.11</epics.version>
<epics.util.version>1.0.8</epics.util.version>
<vtype.version>1.0.8</vtype.version>
<openjfx.version>21.0.7</openjfx.version>
<openjfx.version>25.0.3</openjfx.version>
<jackson.version>2.12.3</jackson.version>
<batik.version>1.17</batik.version>
<mockito.version>2.23.4</mockito.version>
Expand All @@ -89,8 +89,8 @@
<derby.version>10.16.1.1</derby.version>
<jython.version>2.7.4b1</jython.version>
<jgit.version>6.9.0.202403050737-r</jgit.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>25</maven.compiler.source>
<maven.compiler.target>25</maven.compiler.target>
<activemq.client.version>5.18.4</activemq.client.version>
<commons.compress.version>1.26.1</commons.compress.version>
<spring.framework.version>5.3.22</spring.framework.version>
Expand All @@ -100,7 +100,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.2</version>
<version>3.14.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
Expand All @@ -122,12 +122,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M7</version>
<version>3.2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.0</version>
<version>3.2.5</version>
<configuration>
<skipITs>${skipITTests}</skipITs>
</configuration>
Expand Down Expand Up @@ -256,7 +256,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M7</version>
<version>3.2.5</version>
<configuration>
<systemPropertyVariables>
<ignore_local_ipv6>true</ignore_local_ipv6>
Expand Down
2 changes: 1 addition & 1 deletion services/alarm-config-logger/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<version>6.0.0-SNAPSHOT</version>
</parent>
<properties>
<java.version>21</java.version>
<java.version>25</java.version>
</properties>
<artifactId>service-alarm-config-logger</artifactId>
<name>${project.groupId}:${project.artifactId}</name>
Expand Down
2 changes: 1 addition & 1 deletion services/alarm-logger/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM eclipse-temurin:21-jre
FROM eclipse-temurin:25-jre

# deployment unit
COPY target/service-alarm-logger-*.jar /alarmlogger/service-alarm-logger-*.jar
Expand Down
2 changes: 1 addition & 1 deletion services/alarm-logger/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<version>6.0.0-SNAPSHOT</version>
</parent>
<properties>
<java.version>21</java.version>
<java.version>25</java.version>
<elasticsearch.version>8.2.0</elasticsearch.version>
</properties>
<artifactId>service-alarm-logger</artifactId>
Expand Down
Loading
Loading