You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (JIRA)" <ji...@apache.org> on 2019/06/21 10:02:00 UTC

[jira] [Closed] (MSHADE-318) Specifically included class's dependencies are missing

     [ https://issues.apache.org/jira/browse/MSHADE-318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Scholte closed MSHADE-318.
---------------------------------
       Resolution: Fixed
         Assignee: Robert Scholte
    Fix Version/s: 3.2.2

Fixed in [e1f181f9ef9f196f299abe4cceeb1caeefcf4cdc|https://gitbox.apache.org/repos/asf?p=maven-shade-plugin.git;a=commit;h=e1f181f9ef9f196f299abe4cceeb1caeefcf4cdc]
Thanks for the patch!

> Specifically included class's dependencies are missing
> ------------------------------------------------------
>
>                 Key: MSHADE-318
>                 URL: https://issues.apache.org/jira/browse/MSHADE-318
>             Project: Maven Shade Plugin
>          Issue Type: Bug
>    Affects Versions: 3.2.1
>            Reporter: Markus Karg
>            Assignee: Robert Scholte
>            Priority: Major
>             Fix For: 3.2.2
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Using `<include>` one can specifically defined classes to exempt from minijar's filtering. This is useful when a class is referenced by `String` name instead of `Class` object reference, like e. g. reflection.
> Unfortunately *just* the explicitly included class is exempted from removal, while all its transitive references (i. e. all the classes it uses it turn) are still removed when shading. This effectively breaks the result's functionality. This is hard to work around, as *all* such dependencies have to be explicitly given in the pom to prevent it. That is really nasty.
> As a solution, a specific include shall always automatically include all *transitive dependencies* of the explicitly exempted class.



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