You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Bruno Dumon (JIRA)" <ji...@apache.org> on 2019/02/22 11:58:00 UTC
[jira] [Created] (MSHADE-312) META-INF/services incorrectly
adjusted when relocation pattern occurs twice in package name
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)