mapstruct / mapstruct/mapstruct-idea

Support passing custom annotations to generated code

Đang mở
#101 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

feature
Ngôn ngữ chính
Java
Star
168
Fork
41
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng việc đọc PR #2792 và issue #1574 để hiểu AnnotateWith API mới, sau đó kiểm tra phần hỗ trợ hiện có của plugin IntelliJ cho các annotation được sinh. Hoàn thành nghĩa là triển khai và xác thực các kiểm tra hoàn thành và lỗi được liệt kê, bao gồm tính tương thích của đích, tên trùng lặp, kiểu giá trị và mảng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
devtools
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
30/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.