Skip to content

fix gemsfx missing icon resolving#15655

Merged
koppor merged 1 commit into
mainfrom
fixGemsfX
May 2, 2026
Merged

fix gemsfx missing icon resolving#15655
koppor merged 1 commit into
mainfrom
fixGemsfX

Conversation

@Siedlerchr

Copy link
Copy Markdown
Member

Related issues and pull requests

Fixes dlsc-software-consulting-gmbh/GemsFX#273
Load addtional icons for ikonli

PR Description

Steps to test

Checklist

  • I own the copyright of the code submitted and I license it under the MIT license
  • I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • [/] I added screenshots in the PR description (if change is visible to the user)
  • [/] I added a screenshot in the PR description showing a library with a single entry with me as author and as title the issue number
  • [/] I described the change in CHANGELOG.md in a way that can be understood by the average user (if change is visible to the user)
  • [.] I checked the user documentation for up to dateness and submitted a pull request to our user documentation repository

@qodo-free-for-open-source-projects

Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Add missing Ikonli Material pack dependency

🐞 Bug fix

Grey Divider

Walkthroughs

Description
• Add missing Ikonli Material icon pack dependency
• Enable GemsFX to resolve Material design icons correctly
• Update module-info and build configuration for icon support
Diagram
flowchart LR
  A["GemsFX Icon Resolution"] -->|requires| B["Ikonli Material Pack"]
  B -->|added to| C["module-info.java"]
  B -->|added to| D["build.gradle.kts"]
  C -->|enables| E["Icon Loading"]
  D -->|enables| E
Loading

Grey Divider

File Changes

1. jabgui/src/main/java/module-info.java Dependencies +1/-0

Add Ikonli Material module requirement

• Added requires org.kordamp.ikonli.material module declaration
• Positioned between ikonli-javafx and materialdesign2 requirements
• Enables Material icon pack resolution in module system

jabgui/src/main/java/module-info.java


2. versions/build.gradle.kts Dependencies +1/-0

Add Ikonli Material pack dependency constraint

• Added org.kordamp.ikonli:ikonli-material-pack:12.4.0 dependency constraint
• Positioned between ikonli-javafx and materialdesign2-pack dependencies
• Ensures Material icon pack is available at runtime

versions/build.gradle.kts


Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented May 2, 2026

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@Siedlerchr Siedlerchr added automerge PR is tagged with that label will be merged if workflows are green dependencies Pull requests that update a dependency file labels May 2, 2026
@koppor koppor enabled auto-merge May 2, 2026 16:28
@koppor koppor added this pull request to the merge queue May 2, 2026
@github-actions github-actions Bot added the status: to-be-merged PRs which are accepted and should go into the merge-queue. label May 2, 2026
Merged via the queue into main with commit 7d6e521 May 2, 2026
74 of 92 checks passed
@koppor koppor deleted the fixGemsfX branch May 2, 2026 17:08
Siedlerchr added a commit that referenced this pull request May 2, 2026
* upstream/main:
  chore(deps): update jackson monorepo to v3.1.3 (#15659)
  chore(deps): update dependency org.glassfish.hk2:hk2-utils to v4.0.1 (#15657)
  chore(deps): update dependency org.glassfish.hk2:hk2-locator to v4.0.1 (#15656)
  fix gemsfx missing icon resolving (#15655)
  chore(deps): update dependency org.glassfish.hk2:hk2-api to v4.0.1 (#15654)
  chore(deps): update dependency org.postgresql:postgresql to v42.7.11 (#15634)
  Chore(deps): Bump tools.jackson:jackson-bom in /versions (#15653)
@Siedlerchr

Copy link
Copy Markdown
Member Author

@jjohannes I have a question: I needed to add an explicit dependency to the ikonly material package because gemsfx requires this (see linked issue). However, the dependency analysis plugin now fails because we probably don't use it directly in our codebase? Is that correct?

If yes, where would I need to change this and would that solve the issue? (until it is fixed upstream`)


[Incubating] Problems report is available at: file:///home/runner/work/jabref/jabref/build/reports/problems/problems-report.html
208 actionable tasks: 155 executed, 53 from cache
* What went wrong:
Configuration cache entry stored.
Execution failed for task ':jabgui:checkModuleDirectivesScope' (registered by plugin class 'org.gradlex.javamodule.dependencies.JavaModuleDependenciesPlugin').
> /home/runner/work/jabref/jabref/jabgui/src/main/java/module-info.java
  
  Please remove the following requires directives (or change to runtimeOnly):
      requires org.kordamp.ikonli.material;

@jjohannes

Copy link
Copy Markdown
Collaborator

However, the dependency analysis plugin now fails because we probably don't use it directly in our codebase? Is that correct?

Yes that is correct.

As confirmed in the linked issue, this is a bug in the metadata of gemsfx 4.0.3.

To deal with such situations, you ideally add a patch rule to org.jabref.gradle.base.dependency-rules.gradle.kts to correct the metadata. With the next gemsfx update that will contain the upstream fix, you can then remove the rule again.

    module("com.dlsc.gemsfx:gemsfx") {
        addRuntimeOnlyDependency("org.kordamp.ikonli:ikonli-material-pack:12.4.0")
    }

@jjohannes jjohannes mentioned this pull request May 4, 2026
1 task
Siedlerchr added a commit to FynnianB/jabref that referenced this pull request May 4, 2026
…rity

* upstream/main: (204 commits)
  New Crowdin updates (JabRef#15669)
  Fix OpenRewrite (JabRef#15670)
  Udpate heylogs (and fix CHANGELOG.md) (JabRef#15671)
  Improve security and prevent shell injection for push2applications (JabRef#15628)
  Fix depdency analysis (JabRef#15668)
  Always use CI-local "gradle", instead of gradlew (JabRef#15667)
  Change OpenRewrite task to use rewriteDryRun (JabRef#15664)
  Add small documentation to parameter (JabRef#15666)
  Fix markbaseChanged for "imported entries" (JabRef#15610)
  Add forgotten --fresh
  chore(deps): update dependency com.github.ben-manes.caffeine:caffeine to v3.2.4 (JabRef#15662)
  chore(deps): update jackson monorepo to v3.1.3 (JabRef#15659)
  chore(deps): update dependency org.glassfish.hk2:hk2-utils to v4.0.1 (JabRef#15657)
  chore(deps): update dependency org.glassfish.hk2:hk2-locator to v4.0.1 (JabRef#15656)
  fix gemsfx missing icon resolving (JabRef#15655)
  chore(deps): update dependency org.glassfish.hk2:hk2-api to v4.0.1 (JabRef#15654)
  chore(deps): update dependency org.postgresql:postgresql to v42.7.11 (JabRef#15634)
  Chore(deps): Bump tools.jackson:jackson-bom in /versions (JabRef#15653)
  Chore(deps): Bump dev.langchain4j:langchain4j-bom in /versions (JabRef#15652)
  Chore(deps): Bump com.dlsc.gemsfx:gemsfx in /versions (JabRef#15651)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge PR is tagged with that label will be merged if workflows are green dependencies Pull requests that update a dependency file status: to-be-merged PRs which are accepted and should go into the merge-queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

InfoCenterView css exceptiopn: : Cannot resolve 'gmi-close' in Version 4.0.3

5 participants