Class ServicesResourceTransformer

  • All Implemented Interfaces:
    ReproducibleResourceTransformer, ResourceTransformer

    public class ServicesResourceTransformer
    extends Object
    Resources transformer that relocates classes in META-INF/services and appends entries in META-INF/services resources into a single resource. For example, if there are several META-INF/services/org.apache.maven.project.ProjectBuilder resources spread across many JARs the individual entries will all be concatenated into a single META-INF/services/org.apache.maven.project.ProjectBuilder resource packaged into the resultant JAR produced by the shading process.
    • Constructor Detail

      • ServicesResourceTransformer

        public ServicesResourceTransformer()
    • Method Detail

      • canTransformResource

        public boolean canTransformResource​(String resource)
      • processResource

        public void processResource​(String resource,
                                    InputStream is,
                                    List<Relocator> relocators,
                                    long time)
                             throws IOException
        Description copied from interface: ReproducibleResourceTransformer
        Transform an individual resource
        Parameters:
        resource - The resource name
        is - An input stream for the resource, the implementation should *not* close this stream
        relocators - A list of relocators
        time - the time of the resource to process
        Throws:
        IOException - When the IO blows up
      • hasTransformedResource

        public boolean hasTransformedResource()