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]

Reply via email to