mapstruct / mapstruct/mapstruct-idea

Support passing custom annotations to generated code

Offen
#101 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature
Vorherrschende Sprache
Java
Sterne
168
Forks
41
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, PR #2792 und Issue #1574 zu lesen, um die neue AnnotateWith API zu verstehen, und untersuche anschließend die bestehende Unterstützung des IntelliJ-Plugins für generierte Annotationen. Als erledigt gilt die Implementierung und Validierung der aufgeführten Vervollständigungs- und Fehlerprüfungen, einschließlich Zielkompatibilität, doppelter Namen, Werttypen und Arrays.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.