Class MinijarFilter

java.lang.Object
org.apache.maven.plugins.shade.filter.MinijarFilter
All Implemented Interfaces:
Filter

public class MinijarFilter extends Object implements Filter
A filter that prevents the inclusion of classes not required in the final jar.
  • Field Details

    • log

      private org.apache.maven.plugin.logging.Log log
    • removable

      private Set<org.vafer.jdependency.Clazz> removable
    • classesKept

      private int classesKept
    • classesRemoved

      private int classesRemoved
  • Constructor Details

    • MinijarFilter

      MinijarFilter(int classesKept, int classesRemoved, org.apache.maven.plugin.logging.Log log)
    • MinijarFilter

      public MinijarFilter(org.apache.maven.project.MavenProject project, org.apache.maven.plugin.logging.Log log) throws IOException
      Parameters:
      project - MavenProject
      log - Log
      Throws:
      IOException - in case of error.
    • MinijarFilter

      public MinijarFilter(org.apache.maven.project.MavenProject project, org.apache.maven.plugin.logging.Log log, List<SimpleFilter> simpleFilters) throws IOException
      Parameters:
      project - MavenProject
      log - Log
      simpleFilters - SimpleFilter
      Throws:
      IOException - in case of errors.
      Since:
      1.6
  • Method Details

    • removeServices

      private void removeServices(org.apache.maven.project.MavenProject project, org.vafer.jdependency.Clazzpath cp)
    • removeServicesFromJar

      private boolean removeServicesFromJar(org.vafer.jdependency.Clazzpath cp, Set<org.vafer.jdependency.Clazz> neededClasses, String fileName)
    • scanServiceProviderConfigFile

      private boolean scanServiceProviderConfigFile(org.vafer.jdependency.Clazzpath cp, BufferedReader configFileReader) throws IOException
      Throws:
      IOException
    • removeClass

      private void removeClass(org.vafer.jdependency.Clazz clazz)
    • addDependencyToClasspath

      private org.vafer.jdependency.ClazzpathUnit addDependencyToClasspath(org.vafer.jdependency.Clazzpath cp, org.apache.maven.artifact.Artifact dependency) throws IOException
      Throws:
      IOException
    • removePackages

      private void removePackages(org.vafer.jdependency.ClazzpathUnit artifactUnit)
    • removePackages

      private void removePackages(Set<org.vafer.jdependency.Clazz> clazzes, Set<String> packageNames)
    • removeSpecificallyIncludedClasses

      private void removeSpecificallyIncludedClasses(org.apache.maven.project.MavenProject project, List<SimpleFilter> simpleFilters) throws IOException
      Throws:
      IOException
    • canFilter

      public boolean canFilter(File jar)
      Specified by:
      canFilter in interface Filter
      Parameters:
      jar - The jar file.
      Returns:
      true if we can filter false otherwise.
    • isFiltered

      public boolean isFiltered(String classFile)
      Specified by:
      isFiltered in interface Filter
      Parameters:
      classFile - The classFile.
      Returns:
      true if the file has been filtered false otherwise.
    • finished

      public void finished()
      Description copied from interface: Filter
      If we are finished.
      Specified by:
      finished in interface Filter