Package proguard.io

Class DataEntryReaderFactory

java.lang.Object
proguard.io.DataEntryReaderFactory

public class DataEntryReaderFactory extends Object
This class can create DataEntryReader instances based on class path entries. The readers will unwrap the input data entries from any jars, wars, ears, jmods, and zips before passing them to a given reader.
  • Constructor Details

    • DataEntryReaderFactory

      public DataEntryReaderFactory(boolean android)
      Creates a new DataEntryReaderFactory.
      Parameters:
      android - Specifies whether the packaging is targeted at the Android platform. Archives inside the assets directory then aren't unpacked but simply read as data files.
  • Method Details

    • createDataEntryReader

      public DataEntryReader createDataEntryReader(ClassPathEntry classPathEntry, DataEntryReader reader)
      Creates a DataEntryReader that can read the given class path entry.
      Parameters:
      classPathEntry - the input class path entry.
      reader - a data entry reader to which the reading of actual classes and resource files can be delegated.
      Returns:
      a DataEntryReader for reading the given class path entry.
    • getFilterExcludingVersionedClasses

      public static List<String> getFilterExcludingVersionedClasses(ClassPathEntry classPathEntry)
      Method to return an augmented filter for supported features.

      Currently versioned class files (a feature introduced in Java 9) are not fully supported by ProGuard. Only 1 version of a class can be read and processed. If no custom filter targeting a specific version is used, exclude such classes from being read.