I'd like to try out some options for this feature by modifying Maven source. I
could use some help knowing which parts of Maven would need to be modified...
## maven core
I assume any new deprecation property would need to be added to
maven-repository-metadata/src/main/mdo/metadata.mdo, and then the MDO plugin
would codegen the relevant classes from it.
The property will be optional (not required), so if it's not present then Maven
should behave the same as it does today.
After that, I'd like to add something to the `mvn validate` phase that detects
dependencies with deprecation markers and prints warnings about them. Where
would I add this logic?
## maven dependency tree
I'd like to change maven-dependency-tree plugin so that it prints a
[deprecated] marker next to any deprecated dependency.
Example:
com.example:myproject:jar:1.0-SNAPSHOT
\- com.example:foobar:jar:1.2.3:compile [deprecated]
I assume I'd have to modify DefaultDependencyNode#toNodeString() to do that.
Would I also need to make the same change to VerboseDependencyNode?
Additionally it seems like this plugin depends on quite an old version of Maven
(3.0.5). If I propose a change to the Maven repo metadata format in the main
repo, would this mean that maven-dependency-tree has to depend on the latest
Maven (3.8.3 or similar) in order to have access to the new deprecation
property? Would updating the plugin's Maven dependency have any compatibility
ramifications for users with old Maven versions?
Regards,
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]