Class DefaultShader

  • All Implemented Interfaces:
    Shader, org.codehaus.plexus.logging.LogEnabled

    @Component(role=Shader.class,
               hint="default")
    public class DefaultShader
    extends org.codehaus.plexus.logging.AbstractLogEnabled
    implements Shader
    • Field Summary

      • Fields inherited from interface org.apache.maven.plugins.shade.Shader

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultShader()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void addDirectory​(java.util.Set<java.lang.String> resources, java.util.jar.JarOutputStream jos, java.lang.String name, long time)  
      private void addJavaSource​(java.util.Set<java.lang.String> resources, java.util.jar.JarOutputStream jos, java.lang.String name, long time, java.io.InputStream is, java.util.List<Relocator> relocators)  
      private void addRemappedClass​(DefaultShader.RelocatorRemapper remapper, java.util.jar.JarOutputStream jos, java.io.File jar, java.lang.String name, long time, java.io.InputStream is)  
      private void addResource​(java.util.Set<java.lang.String> resources, java.util.jar.JarOutputStream jos, java.lang.String name, long time, java.io.InputStream is)  
      private java.util.List<Filter> getFilters​(java.io.File jar, java.util.List<Filter> filters)  
      private void goThroughAllJarEntriesForManifestTransformer​(ShadeRequest shadeRequest, java.util.Set<java.lang.String> resources, ManifestResourceTransformer manifestTransformer, java.util.jar.JarOutputStream jos)  
      private boolean isFiltered​(java.util.List<Filter> filters, java.lang.String name)  
      private void logSummaryOfDuplicates​(com.google.common.collect.Multimap<java.util.Collection<java.io.File>,​java.lang.String> overlapping)  
      private java.util.jar.JarFile newJarFile​(java.io.File jar)  
      private boolean resourceTransformed​(java.util.List<ResourceTransformer> resourceTransformers, java.lang.String name, java.io.InputStream is, java.util.List<Relocator> relocators, long time)  
      void shade​(ShadeRequest shadeRequest)
      Perform a shading operation.
      private void shadeJars​(ShadeRequest shadeRequest, java.util.Set<java.lang.String> resources, java.util.List<ResourceTransformer> transformers, DefaultShader.RelocatorRemapper remapper, java.util.jar.JarOutputStream jos, com.google.common.collect.Multimap<java.lang.String,​java.io.File> duplicates)  
      private void shadeSingleJar​(ShadeRequest shadeRequest, java.util.Set<java.lang.String> resources, java.util.List<ResourceTransformer> transformers, DefaultShader.RelocatorRemapper remapper, java.util.jar.JarOutputStream jos, com.google.common.collect.Multimap<java.lang.String,​java.io.File> duplicates, java.io.File jar, java.util.jar.JarFile jarFile, java.util.jar.JarEntry entry, java.lang.String name)  
      private void showOverlappingWarning()  
      • Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled

        enableLogging, getLogger, setupLogger, setupLogger, setupLogger
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultShader

        public DefaultShader()
    • Method Detail

      • shade

        public void shade​(ShadeRequest shadeRequest)
                   throws java.io.IOException,
                          org.apache.maven.plugin.MojoExecutionException
        Description copied from interface: Shader
        Perform a shading operation.
        Specified by:
        shade in interface Shader
        Parameters:
        shadeRequest - holds the many parameters to this method
        Throws:
        java.io.IOException - for IO errors reading the thing
        org.apache.maven.plugin.MojoExecutionException - for anything else that goes wrong.
      • shadeJars

        private void shadeJars​(ShadeRequest shadeRequest,
                               java.util.Set<java.lang.String> resources,
                               java.util.List<ResourceTransformer> transformers,
                               DefaultShader.RelocatorRemapper remapper,
                               java.util.jar.JarOutputStream jos,
                               com.google.common.collect.Multimap<java.lang.String,​java.io.File> duplicates)
                        throws java.io.IOException,
                               org.apache.maven.plugin.MojoExecutionException
        Throws:
        java.io.IOException
        org.apache.maven.plugin.MojoExecutionException
      • shadeSingleJar

        private void shadeSingleJar​(ShadeRequest shadeRequest,
                                    java.util.Set<java.lang.String> resources,
                                    java.util.List<ResourceTransformer> transformers,
                                    DefaultShader.RelocatorRemapper remapper,
                                    java.util.jar.JarOutputStream jos,
                                    com.google.common.collect.Multimap<java.lang.String,​java.io.File> duplicates,
                                    java.io.File jar,
                                    java.util.jar.JarFile jarFile,
                                    java.util.jar.JarEntry entry,
                                    java.lang.String name)
                             throws java.io.IOException,
                                    org.apache.maven.plugin.MojoExecutionException
        Throws:
        java.io.IOException
        org.apache.maven.plugin.MojoExecutionException
      • goThroughAllJarEntriesForManifestTransformer

        private void goThroughAllJarEntriesForManifestTransformer​(ShadeRequest shadeRequest,
                                                                  java.util.Set<java.lang.String> resources,
                                                                  ManifestResourceTransformer manifestTransformer,
                                                                  java.util.jar.JarOutputStream jos)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • showOverlappingWarning

        private void showOverlappingWarning()
      • logSummaryOfDuplicates

        private void logSummaryOfDuplicates​(com.google.common.collect.Multimap<java.util.Collection<java.io.File>,​java.lang.String> overlapping)
      • newJarFile

        private java.util.jar.JarFile newJarFile​(java.io.File jar)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • getFilters

        private java.util.List<Filter> getFilters​(java.io.File jar,
                                                  java.util.List<Filter> filters)
      • addDirectory

        private void addDirectory​(java.util.Set<java.lang.String> resources,
                                  java.util.jar.JarOutputStream jos,
                                  java.lang.String name,
                                  long time)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • addRemappedClass

        private void addRemappedClass​(DefaultShader.RelocatorRemapper remapper,
                                      java.util.jar.JarOutputStream jos,
                                      java.io.File jar,
                                      java.lang.String name,
                                      long time,
                                      java.io.InputStream is)
                               throws java.io.IOException,
                                      org.apache.maven.plugin.MojoExecutionException
        Throws:
        java.io.IOException
        org.apache.maven.plugin.MojoExecutionException
      • isFiltered

        private boolean isFiltered​(java.util.List<Filter> filters,
                                   java.lang.String name)
      • resourceTransformed

        private boolean resourceTransformed​(java.util.List<ResourceTransformer> resourceTransformers,
                                            java.lang.String name,
                                            java.io.InputStream is,
                                            java.util.List<Relocator> relocators,
                                            long time)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • addJavaSource

        private void addJavaSource​(java.util.Set<java.lang.String> resources,
                                   java.util.jar.JarOutputStream jos,
                                   java.lang.String name,
                                   long time,
                                   java.io.InputStream is,
                                   java.util.List<Relocator> relocators)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • addResource

        private void addResource​(java.util.Set<java.lang.String> resources,
                                 java.util.jar.JarOutputStream jos,
                                 java.lang.String name,
                                 long time,
                                 java.io.InputStream is)
                          throws java.io.IOException
        Throws:
        java.io.IOException