mapstruct / mapstruct/mapstruct-idea
Support passing custom annotations to generated code
オープン
まだ誰も着手していません。
feature
- 主要言語
- Java
- スター
- 168
- フォーク
- 41
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず PR #2792 と issue #1574 を読んで新しい AnnotateWith API を理解し、次に IntelliJ プラグインに既にある生成アノテーションのサポートを調べてください。完了条件は、対象互換性、重複した名前、値の型、配列を含む、列挙された補完およびエラーチェックを実装して検証することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- devtools
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 30/100