Class ManifestResourceTransformer

java.lang.Object
org.apache.maven.plugins.shade.resource.AbstractCompatibilityTransformer
org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
All Implemented Interfaces:
ReproducibleResourceTransformer, ResourceTransformer

public class ManifestResourceTransformer extends AbstractCompatibilityTransformer
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
  • Field Details

    • defaultAttributes

      private final List<String> defaultAttributes
    • mainClass

      private String mainClass
    • manifestEntries

      private Map<String,Object> manifestEntries
    • additionalAttributes

      private List<String> additionalAttributes
    • manifestDiscovered

      private boolean manifestDiscovered
    • manifest

      private Manifest manifest
    • time

      private long time
    • shade

      private String shade
  • 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
    • relocate

      private String relocate(String originalValue, List<Relocator> relocators)
    • 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()