[MSHADE-252] Make relocation ex-/include matching more lenient, accepting '.**' too
Actually, class patterns are supposed to should just use 'foo.bar.*'
ending with a single asterisk, but some users mistake them for path
patterns like 'my/path/**', so let us be a bit more lenient here.
See also my related comment in MSHADE-252:
https://issues.apache.org/jira/browse/MSHADE-252?focusedCommentId=17314393&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17314393
diff --git a/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java b/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java
index 48be8f8..34f48b6 100644
--- a/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java
+++ b/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java
@@ -114,15 +114,13 @@
if ( patterns != null && !patterns.isEmpty() )
{
normalized = new LinkedHashSet<>();
-
for ( String pattern : patterns )
{
-
String classPattern = pattern.replace( '.', '/' );
-
normalized.add( classPattern );
-
- if ( classPattern.endsWith( "/*" ) )
+ // Actually, class patterns should just use 'foo.bar.*' ending with a single asterisk, but some users
+ // mistake them for path patterns like 'my/path/**', so let us be a bit more lenient here.
+ if ( classPattern.endsWith( "/*" ) || classPattern.endsWith( "/**" ) )
{
String packagePattern = classPattern.substring( 0, classPattern.lastIndexOf( '/' ) );
normalized.add( packagePattern );