Bruno Dumon created MSHADE-312:
----------------------------------

             Summary: META-INF/services incorrectly adjusted when relocation 
pattern occurs twice in package name
                 Key: MSHADE-312
                 URL: https://issues.apache.org/jira/browse/MSHADE-312
             Project: Maven Shade Plugin
          Issue Type: Bug
    Affects Versions: 3.2.1
            Reporter: Bruno Dumon


I am creating a relocated gRPC.

gRPC itself contains a relocated netty, in a package name like this:

{noformat}
io.grpc.netty.shaded.io.grpc.netty
{noformat}

Note that this package name contains "io.grpc" twice.

This package name occurs in a META-INF/services file as well. The relocation of 
the content of the services files is handled through 
Relocation.applyToSourceContent(), which does a simple find-and-replace-all.

This will make that both occurrences of "io.grpc" are relocated, rather than 
only the first one.

So suppose I relocate "io.grpc" to "my.io.grpc", this will be produced:

{noformat}
my.io.grpc.netty.shaded.my.io.grpc.netty
{noformat}

while it should be:

{noformat}
my.io.grpc.netty.shaded.io.grpc.netty
{noformat}

Given that we know that services files contain class names, the substitution 
could probably be smarter.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to