johnrengelman/shadow — pull request #81 by mhurne (2014-08-08 13:48:43+00:00)
Title: Groovy Extension Module Descriptor Transformer

Currently, the `ServiceFileTransformer` is applied to Groovy extension module descriptor files (`META-INF/services/org.codehaus.groovy.runtime.ExtensionModule`). Unfortunately, the format of these files does not lend itself to the strategy used by the `ServiceFileTransformer`, which is to concatenate the contents of all found descriptor files into a single descriptor file. Since extension module descriptor files are properties files, I considered making use of `PropertiesFileTransformer`, but currently it isn't flexible enough for this usage. Perhaps if `PropertiesFileTransformer` supported specifying `mergeStrategy` and `mergeSeparator` on a per-property basis rather than only a per-path basis, it could be used to merge extension module descriptors. However, I think a new `Transformer` specifically for this purpose makes more sense, as it is likely a common need (or will be in the future).