Skip to content
Open
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
34 changes: 17 additions & 17 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).
- [JDK25 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 @@ -24,10 +24,10 @@ mvn clean verify -f dependencies/pom.xml

## Building with maven

Define the JAVA_HOME environment variable to point to your Java installation directory.
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 All @@ -52,7 +52,7 @@ Set the environment variable `LANG` to `en_US.UTF-8`
to execute tests in a specific locale,
or build with `mvn -DskipTests ...` to skip tests.

### Running the phoebus application
### Running the phoebus application

To run the product jar
```
Expand All @@ -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 Down Expand Up @@ -253,20 +253,20 @@ Create a sonatype account and update the maven settings.xml file with your sonat
</servers>
```

**Prepare the release**
`mvn release:prepare`
**Prepare the release**
`mvn release:prepare`
In this step will ensure there are no uncommitted changes, ensure the versions number are correct, tag the scm, etc.
A full list of checks is documented [here](https://maven.apache.org/maven-release/maven-release-plugin/usage/prepare-release.html).

**Perform the release**
`mvn -Darguments="-Dskip-executable-jar" -Pdocs,releases release:perform`
**Perform the release**
`mvn -Darguments="-Dskip-executable-jar" -Pdocs,releases release:perform`
Checkout the release tag, build, sign and push the build binaries to sonatype. The `docs` profile is needed in order
to create required javadocs jars.

**Publish**
**Publish**
Open the staging repository in [sonatype](https://s01.oss.sonatype.org/#stagingRepositories) and hit the *publish* button

**Note:**
In order to keep the ant and maven builds in sync, before the prepare:release update the `version` in the
dependencies\ant_settings.xml to match the release version number. After the release is completed the `version` should
In order to keep the ant and maven builds in sync, before the prepare:release update the `version` in the
dependencies\ant_settings.xml to match the release version number. After the release is completed the `version` should
updated to match the next development snapshotData version.
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
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@
*
* <p>The download watcher used to force-cancel via the now-removed
* {@code Thread.stop()}. It now closes the source stream on 'cancel',
* which must unblock the in-progress {@code Files.copy} on both the
* JDK 21 target (where {@code Thread.stop()} throws at runtime) and
* newer JDKs (where it no longer exists at all).
* which must unblock the in-progress {@code Files.copy} without
* relying on the JDK-dependent behavior of {@code Thread.stop()}.
*
* @author Gianluca Martino
*/
Expand Down
14 changes: 7 additions & 7 deletions services/save-and-restore/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The save-and-restore service implements service as a collection
of REST endpoints. These can be used by clients to manage configurations (aka save sets) and
snapshots, to compare snapshots and to restore PV values from snapshots.

The service is packaged as a self-contained Spring Boot jar file. External dependencies are limited to a JVM (Java 21+)
The service is packaged as a self-contained Spring Boot jar file. External dependencies are limited to a JVM (Java 25+)
and a running instance of Elasticsearch (8.x).

# Build
Expand All @@ -24,7 +24,7 @@ Run the service like so:

Where [options] may override default values for Elasticsearch host (localhost) and port (9200):

-Delasticsearch.network.host=[host]
-Delasticsearch.network.host=[host]
-Delasticsearch.http.port=[port]

or you can use a `.properties file`
Expand Down Expand Up @@ -62,7 +62,7 @@ The latest version of the service is available as a Docker image (ghcr.io/contro

Docker compose files are provided. These depend on the environment variables as described below.

1. ```docker-compose.yml```. Use this to launch both Elasticsearch and the service. The environment variable ```HOST_IP_ADDRESS```
1. ```docker-compose.yml```. Use this to launch both Elasticsearch and the service. The environment variable ```HOST_IP_ADDRESS```
should be set to the host's external IP address (i.e. **not** 127.0.0.1 or localhost).
2. ```docker-compose-save-and-restore.yml```. Use this to launch save-and-restore service only. The environment variable ```HOST_IP_ADDRESS```
should be set to the host's external IP address (i.e. **not** 127.0.0.1 or localhost), while the environment variable ```ELASTIC_HOST``` should
Expand All @@ -71,10 +71,10 @@ Docker compose files are provided. These depend on the environment variables as

Docker supports environment variables to be set in a file (default ```.env``` in current directory) like so:

```HOST_IP_ADDRESS=1.2.3.4```
```ELASTIC_HOST=1.2.3.4```
.
.
```HOST_IP_ADDRESS=1.2.3.4```
```ELASTIC_HOST=1.2.3.4```
.
.
.

This may be preferable compared to setting environment variables on command line, e.g.
Expand Down
4 changes: 1 addition & 3 deletions services/save-and-restore/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The save-and-restore service implements service as a collection
of REST endpoints. These can be used by clients to manage configurations (aka save sets) and
snapshots, to compare snapshots and to restore PV values from snapshots.

The service is packaged as a self-contained Spring Boot jar file. External dependencies are limited to a JVM (Java 21+)
The service is packaged as a self-contained Spring Boot jar file. External dependencies are limited to a JVM (Java 25+)
and a running instance of Elasticsearch (8.x).

Running the service
Expand Down Expand Up @@ -1109,5 +1109,3 @@ If Elasticsearch is not running on localhost:9200, then add Java VM arguments li
``-Delasticsearch.network.host=<hostname>``

``-Delasticsearch.http.port=<port>``


Loading