Support passing custom annotations to generated code
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Start by reading PR #2792 and issue #1574 to understand the new AnnotateWith API, then inspect the IntelliJ plugin's existing support for generated annotations. Done means implementing and validating the listed completion and error checks, including target compatibility, duplicate names, value types, and arrays.
Written by the indexing model from the issue text.
Description
With the work in PR https://github.com/mapstruct/mapstruct/pull/2792 being done for https://github.com/mapstruct/mapstruct/issues/1574 it would be good to provide some support for the new API in the IntelliJ plugin as well.
Some things that we should do:
- Auto completion support for
AnnotateWith.Element#nameand error whennamedoes not exist in target enum. - Smart auto completion for
AnnotateWith.Element#classes(pick the class type based on the one in the annotation - Auto completion for
AnnotateWith.Element#enumsand error when enum value does not exist - Annotation cannot annotated the generated class / method (it doesn't have the right target element type)
- Error when more than one value type is provided, eg.
shorts()andstrings() - Error when duplicated
AnnotateWith.Element#name(more than one having the same name - Error when value does not match target annotation value type
- Error when using array value, but target value is not an array
- Dominant language
- Java
- Stars
- 168
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from mapstruct/mapstruct-idea
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
mapstruct/mapstruct-idea#274 · 2 comments ·
-
feature hack.commit.push
Difficulty 3/5 1-2 days Newbie friendliness 68/100
mapstruct/mapstruct-idea#267 ·
-
feature hack.commit.push
Difficulty 3/5 1-2 days Newbie friendliness 55/100
mapstruct/mapstruct-idea#266 ·
-
feature hack.commit.push
Difficulty 3/5 1-2 days Newbie friendliness 75/100
mapstruct/mapstruct-idea#265 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
mapstruct/mapstruct-idea#257 · 1 comment ·
All issues in mapstruct/mapstruct-idea
Similar issues
-
bug untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
opensearch-project/ml-commons#5094 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
emitter:client:csharp feature
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
affects/8.10 affects/8.9 component/clients kind/bug likelihood/mid severity/mid
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Two open-case totals on one screen: the Programs tile says 15,858 and the nav badge says 15,868 Openbug frontend maui-pilot
Difficulty 2/5 1-3 hours Newbie friendliness 72/100