I would like to work on this but before submit my point of view to be sure I will be in the right direction ...
Maven is all about convention about configuration and as an end user I love withMaven in pipelines because it ensure to me that whereever my code is built (on controller, bare agent, docker agent ...), it will always build with the version of Maven I specify, with the Maven settings I want, and do things automagically for me (publish junit reports, jacoco coverage ...) just because I have the good plugins in my maven build, and the good jenkins ones to integrates results.
For me, this plugin is here to call other plugins for reporting, with the good context, detected from mojos reports during the build. And so, as an end user, I do not have to care to call junit(), publishCoverage() or recordIssues() myself, with a configuration that would be a duplicate from my pom.xml : convention over configuration
But now, if you are unhappy with the default behaviour of withMaven you can launch it with its publishers explicity disabled, and then call others native steps by your own, with the right configuration
drulli reitzmichnicht what do you thing about this ?
I like your proposal: if there is one of the supported static analysis tools invoked in maven (e.g. spotbugs-maven-plugin:3.1.12:spotbugs) then you automatically call a corresponding recordIssues step in the warnings plugin (well actually the warnings plugin will implement the extension point Cyrille mentioned above). There you can set the properties that are defined in the Maven pom. No other configuration of the warnings plugin will be possible. And if someone wants to use the configuration options of the warnings plugin, then the automatic default call must be deactivated with a flag in withMaven.