mapstruct / mapstruct/mapstruct-idea

Support passing custom annotations to generated code

Ouverte
#101 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature
Langage dominant
Java
Étoiles
168
Forks
41
Métriques de merge des PR
Aucune PR mergée en 30 j

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#name` and error when `name` does 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#enums` and 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()` and `strings()`
- [ ] 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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par lire la PR #2792 et l’issue #1574 pour comprendre la nouvelle AnnotateWith API, puis examinez la prise en charge existante des annotations générées dans le plugin IntelliJ. Le travail est considéré comme terminé lorsque les vérifications de complétion et d’erreur indiquées sont implémentées et validées, notamment la compatibilité de la cible, les noms en double, les types de valeurs et les tableaux.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
devtools
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.