Class ManifestResourceTransformer

  • All Implemented Interfaces:
    ReproducibleResourceTransformer, ResourceTransformer

    public class ManifestResourceTransformer
    extends Object
    A resource processor that allows the arbitrary addition of attributes to the first MANIFEST.MF that is found in the set of JARs being processed, or to a newly created manifest for the shaded JAR.
    Since:
    1.2
    Author:
    Jason van Zyl
    • Constructor Detail

      • ManifestResourceTransformer

        public ManifestResourceTransformer()
    • Method Detail

      • setMainClass

        public void setMainClass​(String mainClass)
      • setManifestEntries

        public void setManifestEntries​(Map<String,​Object> manifestEntries)
      • setAdditionalAttributes

        public void setAdditionalAttributes​(List<String> additionalAttributes)
      • 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()
      • setForShade

        public void setForShade​(String shade)
        The shades to apply this transformer to or no shades if no filter is applied.
        Parameters:
        shade - null, jar, test-jar, sources-jar or test-sources-jar.
      • isForShade

        public boolean isForShade​(String shade)
      • isUsedForDefaultShading

        public boolean isUsedForDefaultShading()