gnodet opened a new issue, #13629:
URL: https://github.com/apache/maven/issues/13629

   ## Summary
   
   `XmlNode.merge(XmlNode, XmlNode, Boolean)` is a static method that simply 
delegates to `XmlService.merge(XmlNode, XmlNode, Boolean)`. It should be 
formally deprecated with `@Deprecated(since="4.0.0", forRemoval=true)` to steer 
callers toward the `XmlService` API.
   
   This was intentionally excluded from #13501 (pure javadoc PR) to avoid the 
behavioural impact of adding a deprecation annotation (breaks callers compiled 
with `-Werror` / `-Xlint:deprecation`). It deserves its own targeted PR so the 
compatibility impact can be assessed and called out explicitly.
   
   ## Action
   
   Add to `XmlNode`:
   ```java
   /**
    * @deprecated Use {@link XmlService#merge(XmlNode, XmlNode, Boolean)} 
instead.
    */
   @Deprecated(since = "4.0.0", forRemoval = true)
   @Nullable
   static XmlNode merge(
           @Nullable XmlNode dominant, @Nullable XmlNode recessive, @Nullable 
Boolean childMergeOverride) {
       return XmlService.merge(dominant, recessive, childMergeOverride);
   }
   ```
   
   Also verify whether `XmlNode.merge(XmlNode, XmlNode)` (the 2-arg overload, 
already deprecated) is the only other static merge on this interface, and 
whether any in-tree callers of the 3-arg overload need to be migrated first.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to