Skip to content

Conversation

@jjohannes
Copy link
Collaborator

@jjohannes jjohannes commented Jun 13, 2025

⚠️ For now, this is a Draft PR for exploration ⚠️

Topics to explore/discuss and initial state of this PR:

Topic 1 Switch from "merging non-module Jars" to "patching non-module Jars". See more details here: gradlex-org/java-module-packaging#57 (comment). For now, I did as much as possible to get jabgui:assembleMacos-14 succeed locally. There may be too much modules in the result and it may not yet run.

Topic 2 Make sure everything that needs to be configured can be configured in java-module-packaging. @koppor already discovered some missing options. I now discovered some more. I would like to make sure that we are confident that all issues are addressed, before I release the next version of that plugin. Until then, you can use the plugin from-source when exploring (see below).

Topic 2.1 I would like to support the app-signing on MacOS in the plugin. So that calling jpackage directly in the CI pipeline is no longer necessary. I have not looked into that yet. If you have an idea what would be needed,

Steps to test

Mandatory checks

  • I own the copyright of the code submitted and I license it under the MIT license
  • [/] Change in CHANGELOG.md described in a way that is understandable for the average user (if change is visible to the user)
  • [/] Tests created for changes (if applicable)
  • Manually tested changed features in running JabRef (always required)
  • [/] Screenshots added in PR description (if change is visible to the user)
  • [/] Checked developer's documentation: Is the information available and up to date? If not, I outlined it in this pull request.
  • [/] Checked documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request to the documentation repository.

@jabref-machine

This comment was marked as off-topic.

@jabref-machine

This comment was marked as off-topic.

@jabref-machine

This comment was marked as off-topic.

@Siedlerchr
Copy link
Member

The problem with mac signing can be summarized as follows:

  • If the jlink image is built separate before jpackage and used as input, the notarization will fail. I tried several options (signed image, unsigned image etc). The only way it works is when the jlink image is built indirectly as part of the jpackage and the jpackage gets the necessary signing keys necessary for notarization.
  • The current jlink plugin first bulids an image that then is used as jpackage input. => Does not work as stated above.

@koppor koppor added the dev: no-bot-comments If set, there should be no comments from our bots label Jun 14, 2025
@koppor
Copy link
Member

koppor commented Jun 22, 2025

When manually executing :jabgui:jpackageWindows-2022, I get jabgui\build\tmp\jpackage\windows-2022\app-image\JabRef\JabRef.exe, which perfectly starts

Do we need to adapt the target names? I thought, they are automatically.

There is also

jabgui\build\packages\windows-2022\JabRef-6.0.30466.msi

@koppor
Copy link
Member

koppor commented Jun 22, 2025

As far as I understand, we can move directories buildres/* to src/main/resourcesPackage. But there needs more to be adapted in javaModulePackaging {

@koppor
Copy link
Member

koppor commented Jun 22, 2025

macOS JabKit has issues:

Execution failed for task ':jabkit:jpackageMacos-14'.
> java.lang.NullPointerException (no error message)

@koppor koppor changed the base branch from main to java-module-plugins June 24, 2025 15:08
@koppor koppor marked this pull request as ready for review June 24, 2025 15:09
@koppor koppor merged commit d648820 into JabRef:java-module-plugins Jun 24, 2025
1 check passed
@trag-bot
Copy link

trag-bot bot commented Jun 24, 2025

@trag-bot didn't find any issues in the code! ✅✨

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev: no-bot-comments If set, there should be no comments from our bots

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants