[ 
https://jira.codehaus.org/browse/MNG-5604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=344710#comment-344710
 ] 

Kenney Westerhof commented on MNG-5604:
---------------------------------------

Deprecation always requires a reference to the preferred solution, because if 
the functionality is not provided by an alternative, the module is still useful.

The idea behind Maven is to have stable builds, producing the same result on 
any system, but it does allow for automatic project metadata updates using 
version ranges on dependencies.

The relocation functionality was made to cover cases such as projects not 
adhering to decent versioning standards and is a different problem. In this 
case it can be used to automatically update from log4j 1.2.17 to 2.0 even 
though the artifactId has changed.

A project moving away from using one library in favour of another will manage 
the change on it's end: by changing the dependencies and updating their code to 
conform to the new API. Similarly, using version ranges resulting in an 
incompatible dependency being used, either the pom or the code must be changed. 
Either way, it requires manual intervention which is a pretty clear message.


That said, nothing is stopping you from adding that XML snippet to the pom, for 
instance in a <configuration> section of a plugin. No-one said that plugin 
configuration should be imperative only. My suggestion would be to add a mojo 
to the enforcer-plugin which inspects the reactor models for enforcer-plugin 
configuration for the deprecation information and display a notice.

This leaves whether or not to receive deprecation warnings up to the projects 
using potentially deprecated dependencies, opens the door for more flexibility 
without having to rely on the POM to change, and fit's with Maven's design of 
providing standardized, extensible project lifecycle management.


> make it possible to mark a maven module as deprected
> ----------------------------------------------------
>
>                 Key: MNG-5604
>                 URL: https://jira.codehaus.org/browse/MNG-5604
>             Project: Maven 2 & 3
>          Issue Type: Wish
>          Components: Artifacts and Repositories
>    Affects Versions: 3.2.1
>            Reporter: Klaus Claszen
>            Priority: Minor
>              Labels: build, pom.xml
>
> It would be great if it would be possible to mark a maven module as 
> 'deprecated'. It would help to document that a module is outdated. The 
> information could be used during build processes to show warnings and guide 
> the user to a better alternative.
> Maybe it could be a pom enhancement linke this
> {code:xml}
> <deprecated>
>   <reason>not maintained anymore</reason>
>   <instead>
>     <groupId>foo</groupId>
>     <artifactId>bar</artifactId>
>   </instead>
> </deprecated>
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to