mapstruct / mapstruct/mapstruct

Module Info for Java 9+ and jLink

Open
#3,817 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
7.7k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Use case

Please provide a module-info.java, so this great tool can be used with the modular system of Java 9+ and the jLink/jPackage tools.
So far mapstruct is placed in the "automatic module" as it contains no module information.
jLink refuses to include this automatic module in a runtime image, so mapstruct has to be removed from the project and all mapping must be done manually.

Generated Code

No response

Possible workarounds

I tried the Moditect-Tool to generate the missing information, but it didn't work in many cases or took more effort as manual mapping.

MapStruct Version

MapStruct 1.6.3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how MapStruct 1.6.3 is packaged and how its annotation processor is exposed to Java 9+ modular applications. Compare the required module-info.java with the jLink and jPackage constraints, and verify that the resulting module can be included in a runtime image without relying on the Moditect-Tool workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.