[ https://issues.apache.org/jira/browse/MSHADE-313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16811097#comment-16811097 ]
Robert Scholte commented on MSHADE-313: --------------------------------------- In that case I don't like this proposal. The shaded jar doesn't use the service, so there's no reason to shade it. If another application uses this jar and wants to use the service, it is his responsibility to add that dependency, not because it was carries with this shaded jar. If and only if the /META-INF/services/someinterface is included, then it should minify its implementations. > Less agressive <minimizeJar> > ---------------------------- > > Key: MSHADE-313 > URL: https://issues.apache.org/jira/browse/MSHADE-313 > Project: Maven Shade Plugin > Issue Type: Improvement > Affects Versions: 3.2.1 > Reporter: Markus Karg > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > The maven shade plugin already does a great job in minimizing JAR size. For > the majority of applications this is exactly what is needed. > On the other hand there are some application areas where the algorithm is too > agressive. One particular and rather frequently found case is the services > API: ServiceLoader will ceise to work for minimized JARs since it is the > prototype of the biggest "minimize-JAR-antipattern": String-to-class > conversion. > To make <minimizeJar> usable in such scenarios, there should be a set of > options to enable the usual suspetcs (like ServiceLoader) to be detected. -- This message was sent by Atlassian JIRA (v7.6.3#76005)