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

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

Hi Mirko,

That's pretty much it, although I would not declare A as deprecated using a 
rule, since it is not applicable as a rule to project A. I'd make a split in 
the <configuration> to distinguish rules from declarations, for example:

A's pom.xml:
{code:xml}
  <plugin>
    <artifactId>maven-enforcer-plugin</artifactId>
    <configuration>
       <declarations>
           <deprecated>....</deprecated>
       </.... 
{code}

Similar for B:
{code:xml}
   <plugin>
      <artifactId>maven-enforcer-plugin</artifactId>
      <configuration>
         <rules>
            <banDeprecated/>
         </....
{code}

I don't see how this would break the spirit of the enforcer plugin at all. In 
project B it operates as usual, enforcing rules. In A it serves to provide 
metadata for it's own functioning in dependent projects. 

The thing with the POM is that it doesn't change much which severly impedes 
adding new functionality like this issue proposes. 

This solution still adheres to the idea of specifying project metadata in the 
POM (both for building and using such projects), using a standard maven plugin 
even, while promoting extension of the metadata provided. A feature such as 
this can then be developed independently of the maven core platform and rest on 
standard plugin functionality. Once it gains popularity and other plugins start 
to use such metadata it can be promoted to become part of the 'static' POM 
definition itself, or even be placed in a plugin configuration dedicated to 
providing such extended metadata.


> 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