Class CollectingManifestResourceTransformer

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

public final class CollectingManifestResourceTransformer extends org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
Extends ManifestResourceTransformer to collect the additional sections in the jar manifests. This keeps the build information from the internal jars in the shaded jars. Submitted back to Maven as MSHADE-165.
  • Constructor Details

    • CollectingManifestResourceTransformer

      public CollectingManifestResourceTransformer()
  • Method Details

    • setCollectSections

      public void setCollectSections(boolean collectSections)
      If set, the transformer will collect all sections from jar manifests and adds them to the main manifest.
    • setMainClass

      public void setMainClass(String mainClass)
      Overrides:
      setMainClass in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
    • setManifestEntries

      public void setManifestEntries(Map<String,Object> manifestEntries)
      Overrides:
      setManifestEntries in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
    • setAdditionalAttributes

      public void setAdditionalAttributes(List<String> additionalAttributes)
      Overrides:
      setAdditionalAttributes in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
    • canTransformResource

      public boolean canTransformResource(String resource)
      Specified by:
      canTransformResource in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
      Overrides:
      canTransformResource in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
    • processResource

      public void processResource(String resource, InputStream is, List<org.apache.maven.plugins.shade.relocation.Relocator> relocators, long time) throws IOException
      Specified by:
      processResource in interface org.apache.maven.plugins.shade.resource.ReproducibleResourceTransformer
      Overrides:
      processResource in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
      Throws:
      IOException
    • hasTransformedResource

      public boolean hasTransformedResource()
      Specified by:
      hasTransformedResource in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
      Overrides:
      hasTransformedResource in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
    • modifyOutputStream

      public void modifyOutputStream(JarOutputStream jos) throws IOException
      Specified by:
      modifyOutputStream in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
      Overrides:
      modifyOutputStream in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
      Throws:
      IOException
    • processResource

      public final void processResource(String arg0, InputStream arg1, List<org.apache.maven.plugins.shade.relocation.Relocator> arg2) throws IOException
      Specified by:
      processResource in interface org.apache.maven.plugins.shade.resource.ResourceTransformer
      Throws:
      IOException