Class ManifestResourceTransformer

java.lang.Object
org.apache.maven.plugins.shade.resource.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 Details

    • ManifestResourceTransformer

      public ManifestResourceTransformer()
  • Method Details

    • 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()
    • modifyOutputStream

      public void modifyOutputStream(JarOutputStream jos) throws IOException
      Throws:
      IOException
    • 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()
    • processResource

      public final void processResource(String resource, InputStream is, List<Relocator> relocators) throws IOException
      Description copied from interface: ResourceTransformer
      Transform an individual resource
      Specified by:
      processResource in interface ResourceTransformer
      Parameters:
      resource - The resource name
      is - An input stream for the resource, the implementation should *not* close this stream
      relocators - A list of relocators
      Throws:
      IOException - When the IO blows up