[ 
https://issues.apache.org/jira/browse/MSHADE-229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15414642#comment-15414642
 ] 

Richard Sand commented on MSHADE-229:
-------------------------------------

Agreed, sorry it is a duplicate of 221. Hopefully the patch gets incorporated 
soon.

> Add ability for ServicesResourceTransformer to rename files
> -----------------------------------------------------------
>
>                 Key: MSHADE-229
>                 URL: https://issues.apache.org/jira/browse/MSHADE-229
>             Project: Maven Shade Plugin
>          Issue Type: Improvement
>    Affects Versions: 2.4.3
>            Reporter: Richard Sand
>         Attachments: shade srt.patch
>
>
> The ServicesResoureTransformer can transform the contents of files in 
> META-INF/services - however, often the names of these files also follow the 
> package hierarchy. Simple example is commons-logging, where it creates a 
> service META-INF/services/org.apache.commons.logging.LogFactory containing 
> the full name of the default LogFactory class. So in addition to transforming 
> the file contents, we want to transform the file names as well.
> Sometimes this is a requirement to create a working shaded jar. For example, 
> if you are using Jersey JAX-RS, or any project using Glassfish HK2, you will 
> find that your shaded jar fails because these services files are now expected 
> to have been renamed along with the class relocation rules.
> I've added a patch to this case that augments ServicesResourceTransformer to 
> add this capability. It adds a new Boolean "renamFiles" - which defaults to 
> "false" to preserve existing functionality. But when sent to true, it will 
> send each resource filename through the relocators, so that 
> "META-INF\services\org.glassfish.hk2.extension.ServiceLocatorGenerator" is 
> renamed to 
> "com.idfconnect.relocated.org.glassfish.hk2.extension.ServiceLocatorGenerator",
>  as well as having its contents updated as well. With this fix In place, I've 
> easily encapsulated Jersey and my logging framework into a shaded jar that 
> works just fine.
> The fix is very easy and only a few lines of code and provides a useful new 
> feature. I hope the development community agrees and accepts this patch into 
> the next release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to