Files
kotlin-fork/plugins/lombok/lombok-compiler-plugin

Kotlin plugin to support Lombok annotations in the same compilation unit with kotlin

Features support:

[~] Config files

  • Basic support - single config file
  • Import other config files
  • Config files discovery and bubbling

[~] @Getter/@Setter

  • Basic support
  • Class-level
  • @Accessors config support: chain and fluent
  • Config support (lombok.getter.noIsPrefix only supported atm)
  • Copy annotations
  • Strip defined prefixes - in config and @Accessors
  • Skip generation with AccessLevel.NONE
  • Strip 'is' prefix for boolean fields

[~] @With

  • Basic support
  • Copy annotations

[~] @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

  • @NoArgsConstructor
  • @AllArgsConstructor
  • @RequiredArgsConstructor

[ ] @Data

[ ] @Value

[ ] @Builder

Other todos:

  • Generic classes
  • Actually run compiled code
  • Don't generate members that already exist (if having a duplicate is a problem)
  • Gradle integration (as subplugin or just a way to enable lombok support)
  • Maven integration (as subplugin or just a way to enable lombok support)
  • Nullability from annotations. Check if it is inherited from variable definition