+1

>-----Original Message-----
>From: Stefan Seifert [mailto:[email protected]]
>Sent: Thursday, August 2, 2018 10:56 AM
>To: [email protected]
>Subject: [VOTE] Switch from JSR-305 annotations to Jetbrains Annotations
>for all Sling Models
>
>as recently discussed in SLING-7312 and the mailing list the JSR-305
>annotations for null-analysis (javax.annotations) we are currently using
>break our compatibility with Java 9. the problem is that JSR-305 was never
>accepted and thus it's hard and troublesome to use them in Java 9 (see
>[1]). there are several alternatives for nullable annotations with good
>tool support, but some of them (e.g. findbugs/spotbugs annotations) use a
>license not fully compatible with the apache license (discussed in [2]).
>
>the jackrabbit/oak team has decided to switch to jetbrains annotations
>[3][4][5] and developed some tooling to ease the migration. although coming
>from the manufacturer of IntelliJ there is wide tool support for them e.g.
>in FindBugs/SpotBugs, Sonar and can be configured in Eclipse as well.
>
>i've created a ticket [6] to describe the steps we need to go and which
>sling modules are affected. this ticket is about to get a consensus that
>the jetbrains annotations are the way we want to go.
>
>benefits:
>- removes a blocker from achieving Java 9 compatibility
>- same annotations as used by jackrabbit/oak
>- tooling for migration available
>- jetbrains annotations use apache 2.0 license
>- wide-spread tooling support for jetbrains annotations (which would not be
>the case if we develop our own annotations)
>
>drawbacks:
>- the jetbrains annotations include some more (mostly IntelliJ-specific)
>annotations than only the nullable annotations
>- the jetbrains annotations are no "standard annotations"
>
>
>Please vote to approve switching to Jetbrains Annotations:
>
>  [ ] +1 Switch to Jetbrains Annotations
>  [ ]  0 Don't care
>  [ ] -1 Don't switch to Jetbrains Annotations
>
>
>stefan
>
>
>[1] https://blog.codefx.org/java/jsr-305-java-9/
>[2] https://issues.apache.org/jira/browse/JCR-4301
>[3] https://www.jetbrains.com/help/idea/nullable-and-notnull-
>annotations.html
>[4] http://repo1.maven.org/maven2/org/jetbrains/annotations/16.0.2/
>[5] https://github.com/JetBrains/java-annotations
>[6] https://issues.apache.org/jira/browse/SLING-7798
>
>


Reply via email to