mapstruct / mapstruct/mapstruct-examples

Quarkus Gradle example?

Open
#86 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.4k
Forks
504
PR merge metrics
No merged PRs in 30d

Description

I tried converting the mapstruct-quarkus example directly to gradle.

https://github.com/danelowe/mapstruct-quarkus-gradle

Running ./gradlew quarkusDev results in an error when trying to access the server (http://localhost:8080/)

Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type org.mapstruct.example.quarkus.mapper.PersonMapper and qualifiers [@Default]
        - java member: org.mapstruct.example.quarkus.PersonResource#personMapper
        - declared on CLASS bean [types=[org.mapstruct.example.quarkus.PersonResource, java.lang.Object], qualifiers=[@Default, @Any], target=org.mapstruct.example.quarkus.PersonResource]
        at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:487)
        at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:362)
        at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:226)
        ... 14 more

Similarly cannot build due to same error.

I have no idea if I'm using it wrong, or if there is a bug with Mapstruct, or with Quarkus, or if some workaround is necessary to get it working with Gradle.

I would like to use Mapstruct in a project with Quarkus/Gradle/Kotlin, but kapt seems to break Quarkus CDI, and I can't get mapstruct to run in Quarkus CDI with Gradle

Contributor guide

No contributing guide indexed for this repository

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 with the linked mapstruct-quarkus-gradle repository and compare it with the mapstruct-quarkus example. Run ./gradlew quarkusDev and inspect the reported PersonMapper CDI resolution failure; the issue is done when the application is reachable at http://localhost:8080/ and the Gradle build succeeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kotlin
Domain
backend, build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.