Skip to content

Transition from jpackager to jpackage #493

@sbesson

Description

@sbesson

The current build system uses the omero-javapackager-plugin Gradle plugin for the commands allowing to package OMERO.insight as Window msi files or OS X dmg files. This packaging step is only executed in GitHub workflows on tag

- name: Build insight exe
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '11')
shell: cmd
run: |
gradle packageApplicationExe
- name: Build importer exe
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '11')
shell: cmd
run: |
gradle packageImporterApplicationExe
- name: Build insight msi
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '11')
shell: cmd
run: |
gradle packageApplicationMsi
- name: Build importer msi
if: startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags') && startsWith(matrix.java, '11')
shell: cmd
run: |
gradle packageImporterApplicationMsi

Internally, the plugin relies on the javapackager utility which has been removed from the JDK after Java 8.

As part of #461, the build system was updated to require Java 11 as the minimal requirement. This prevents the release of packaged application with the current infrastructure.

An option to unblock the release would be to transition the build system to require Java 17 as the minimum build requirement and use the jpackage utility. We have successfully used for the packaging of the NGFF-Converter application.

A requirement will be to upgrade the Gradle build system to at least 7.3.x - see https://docs.gradle.org/current/userguide/compatibility.html. We might use the opportunity to upgrade to Gradle 9 and support building on 17, 21 and 25

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions