Class 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 http://jira.codehaus.org/browse/MSHADE-165.
    • Constructor Detail

      • CollectingManifestResourceTransformer

        public CollectingManifestResourceTransformer()
    • Method Detail

      • 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