i would also favor to *not* add Lombok to any sling modules.

stefan

>-----Original Message-----
>From: Paul Bjorkstrand <[email protected]>
>Sent: Thursday, December 23, 2021 10:47 PM
>To: [email protected]
>Subject: Introducing Lombok to Sling?
>
>I am not a huge fan of boilerplate code, and getters/setters are my biggest
>pet peeve. I searched the dev archives and found nothing that referenced
>Lombok. Is there a reason it has not yet been introduced that I am not
>aware of? If not, what is everyone's opinion around using Lombok within
>Sling? I looked at the license, and it seems to be near-identical to HPND
>[1] and HPND is one of ASF's Category A licenses [2]. It uses/includes ASM
>[3] which uses a 3-clause BSD license [4], also one of the Category A
>licenses.
>
>While I wouldn't recommend allowing _everything_ from Lombok to be used, I
>think it would be fair to allow the use of a subset of the features. I
>would recommend the following approach:
>
>These stabe features of Lombok [5] can be used without restriction:
>- @Getter/@Setter
>- @ToString
>- @EqualsAndHashCode
>- @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
>- @Data/@Value (at least until we can use records [6], introduced in JDK
>14, finalized in JDK 16)
>- @Builder
>- @Slf4j
>
>All other stable features would be evaluated on a per-use basis. All
>experimental features would not be allowed to be used.
>
>These seem, to me, to be reasonable guidelines, and align with the usages I
>have seen in other places (including my own projects).
>
>[1]: https://opensource.org/licenses/HPND
>[2]: https://www.apache.org/legal/resolved.html#category-a
>[3]: https://asm.ow2.io/index.html
>[4]: https://opensource.org/licenses/BSD-3-Clause
>[5]: https://projectlombok.org/features/all
>[6]: https://docs.oracle.com/en/java/javase/14/language/records.html
>
>
>-Paul

Reply via email to