Right, I was going to reply, but you already saw it. Thx for the link, I'll investigate to make sure they are recognized correctly, but I think the Nonnull and Nullable matching based on the annotation class simple name is the usual way.
Guillaume Le ven. 18 mars 2022 à 13:31, Konrad Windszus <[email protected]> a écrit : > I see now that this has been addressed in > https://github.com/apache/maven/commit/8113c5139eed8a8b5f9883b5e105f820868d13f0 > already. I am just not sure whether your own annotations are evaluated by > SonarQube and SpotBugs. For the latter check out the matching algorithm at > https://github.com/spotbugs/spotbugs/blob/51e586bed98393e53559a38c1f9bd15f54514efa/spotbugs/src/main/java/edu/umd/cs/findbugs/ba/NullnessAnnotation.java#L35. > Not sure where the related matching algorithm is in the SonarQube source > code.... > > Konrad > > On 2022/03/18 11:00:29 Konrad Windszus wrote: > > Hi, > > this looks really nice. Just one observation: I would recommend to get > rid of JSR 305 null-annotations due to it being dormant and having > split-package issues (https://nipafx.dev/jsr-305-java-9/). Consider > migrating to either spotbugs ( > https://spotbugs.readthedocs.io/en/stable/annotations.html) or Jetbrains > annotations (https://github.com/JetBrains/java-annotations). > > > > Konrad > > > > On 2022/03/14 07:59:08 Guillaume Nodet wrote: > > > Hi everyone, > > > > > > As Michael hinted at this new API in the "[DISCUSS] Radical Fast > Forward to > > > 3.5.4" thread, I'd like to start the discussion around it. > > > > > > Over the past weeks, I've worked on an experimental API for Maven 4.x. > > > The goals are multiple : > > > * fix some problems with designs that do not work well with > multithreading > > > * offer a way to finally get rid of deprecated code > > > * offer a complete API (which would deprecate m-artifact-transfer, > > > m-dependency-tree) > > > * offer an homogeneous and a bit more modern API > > > * completely hide the maven-resolver, so that it can finally upgrade > to a > > > v2 with the package renamed without too much disturbance > > > > > > The goal would be to extract the models and API in a separate project > with > > > a much lower release cycle, as those rarely change, but are currently > > > released with each version of maven. > > > > > > The current API can be seen at [1]. Note that the plugins API has also > > > been included within the new API and the plugin tools have been > updated so > > > that the maven-plugin-plugin supports both v3 api and the new v4 api. > A > > > new flag has been added to the MojoDescriptor to know if the plugin is > > > using the old or the new api. The plugin testing harness tools have > been > > > updated to junit 5 and now provide a few annotations [2] to help > writing > > > plugin tests [3]. The maven-core has been enhanced to support loading > > > those new v4 plugins along with the v3 ones, which means they can work > > > side-by-side in the same build. This is done by implementing the new > API > > > by wrapping the v3 implementation classes (such as MavenSession, > > > MavenProject, etc...) [4]. > > > I've ported a few plugins such as clean [5], install [6], deploy [7] > as a > > > proof-of-concept that this actually works. > > > > > > The very rough goal would be to to have multiple phases: > > > * continue the work on this API so that it can actually cover all use > > > cases for plugins, create a new project with the new API and models, > make > > > sure plugins can work correctly with the new API / implementation > > > * release the API, then maven-core supporting the new API > > > * upgrade plugins to the new API, deprecate old components and API > > > * once all plugins have migrated to the new API, switch maven-core > > > implementation to the new API > > > > > > I'm eager to hear your thoughts ! > > > > > > [1] > > > > https://github.com/apache/maven/tree/mvn4/maven-core-api/src/main/java/org/apache/maven/api > > > [2] > > > > https://github.com/apache/maven-plugin-testing/tree/mvn4/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing > > > [3] > > > > https://github.com/apache/maven-deploy-plugin/blob/mvn4/src/test/java/org/apache/maven/plugins/deploy/DeployFileMojoTest.java > > > [4] > > > > https://github.com/apache/maven/tree/mvn4/maven-core/src/main/java/org/apache/maven/internal/impl > > > [5] https://github.com/apache/maven-clean-plugin/tree/mvn4/ > > > [6] https://github.com/apache/maven-install-plugin/tree/mvn4/ > > > [7] https://github.com/apache/maven-deploy-plugin/tree/mvn4/ > > > > > > -- > > > ------------------------ > > > Guillaume Nodet > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- ------------------------ Guillaume Nodet
