[maven] Deprecate the resolve capability of maven plugins besides the bnd-resolver-maven-plugin and integrate it into the build
The first step of this should be to document the deprecation and issue build warnings when resolutions are executed from these plugins.
The next step would be to specify a default phase for the bnd-resolver-maven-plugin.
STRONG disagree.
I assume this is in relation to the discussion on #4460. Deprecation is a precursor to removal so I don't know why you want to take this capability away just because it's not used in your preferred workflow.
It's more that over the course of the past couple of years we have not taken into account the use cases of resolve as sub function of those plugins and I fear that they will continue to be neglected and I believe we should focus our efforts by clarifying the expected usage. I'm not sure I understand the resistance because you can achieve the desired result by using the individual plugins in combination. Can you not? If not can you explain the use case where you can't?
I want to ensure that the following capabilities, which we have at present, are preserved:
- Automated builds can be forced to break by a change in the resolution result versus the existing runbundles list (the failOnChanges=true option of the testing and export plugins).
- The bnd-resolver:resolve goal can be invoked manually (i.e. not as an automatic build step) in order to overwrite the runbundles list of a bndrun file (the writeOnChanges=true option of the resolver plugin).
The resolver plugin does not bind to a Maven phase and is not intended for use in automated builds. At the very least then you should address this part of your proposal before deprecating the resolving functionality of the other plugins. You should not deprecate a useful feature without a clear replacement being in place.
Currently if I force the resolver plugin to be used as an automated check (by binding it to a phase and configuring with failOnChanges=true, writeOnChanges=false) then that configuration also applies when the goal is invoked manually from the command line, making it useless.
Finally, En Route examples and templates would have to be updated to reflect this new way of using the plugins.
This issue has been automatically marked as stale because it has not had recent activity. Given the limited bandwidth of the team, it will be automatically closed if no further activity occurs. If you feel this is something you could contribute, please have a look at our Contributor Guide. Thank you for your contribution.
This issue has been automatically closed due to inactivity. If you can reproduce this on a recent version of Bnd/Bndtools or if you have a good use case for this feature, please feel free to reopen the issue with steps to reproduce, a quick explanation of your use case or a high-quality pull request.