apigee / apigee-deploy-maven-plugin

Apache License 2.0
80 stars 169 forks source link

Replace the use of deprecated APIs within the plugin #239

Open ascopes opened 3 months ago

ascopes commented 3 months ago

Running the Maven plugin on v2.5.1 with -Dmaven.plugin.validation=verbose in the MAVEN_ARGS results in the following warning:

[WARNING]   Mojo EXTERNAL issue(s):
[WARNING]    * Mojo apigee-enterprise:configure (io.apigee.buildTools.enterprise4g.mavenplugin.ConfigureMojo)
[WARNING]      - Mojo implements `Contextualizable` interface from Plexus Container, which is EOL.
[WARNING] 
[WARNING] 
[WARNING] Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [NONE, INLINE, SUMMARY, BRIEF, VERBOSE]
[WARNING] 

The use of Plexus can be replaced with the use of Eclipse Sisu, which should also reduce some complexity as it implements the Java CDI spec, and is the recommended way to achieve CDI in Maven Plugins now.

The use of end-of-life features should probably be fixed since it would pose a blocker to Maven 4.0 migration once it becomes available.

ssvaidyanathan commented 2 months ago

@ascopes - thanks for sharing. Apologies for the delayed response

I am not seeing any docs around this. The GitHub repo is marked as publicly archived and the main repo links seems to be broken. Can you share any info on this so that I can take a look and see how much work is needed?

ascopes commented 2 months ago

Eclipse Sisu, you mean?

I have a working set up for it in my Maven plugin I maintain as well if you need an example of how to configure it: https://github.com/ascopes/protobuf-maven-plugin/tree/main/protobuf-maven-plugin

Hope that helps. Thanks for the reply!

ssvaidyanathan commented 2 months ago

Thank you! I already saw the first two links and couldnt really find a lot of useful info to build plugins. The last one is useful. Thank you