Class Cleaner

java.lang.Object
org.apache.maven.plugins.clean.Cleaner

class Cleaner extends Object
Cleans directories.
  • Field Details

    • ON_WINDOWS

      private static final boolean ON_WINDOWS
    • LAST_DIRECTORY_TO_DELETE

      private static final String LAST_DIRECTORY_TO_DELETE
    • session

      private final org.apache.maven.execution.MavenSession session
      The maven session. This is typically non-null in a real run, but it can be during unit tests.
    • logDebug

      private final Cleaner.Logger logDebug
    • logInfo

      private final Cleaner.Logger logInfo
    • logVerbose

      private final Cleaner.Logger logVerbose
    • logWarn

      private final Cleaner.Logger logWarn
    • fastDir

      private final File fastDir
    • fastMode

      private final String fastMode
  • Constructor Details

    • Cleaner

      Cleaner(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.logging.Log log, boolean verbose, File fastDir, String fastMode)
      Creates a new cleaner.
      Parameters:
      log - The logger to use, may be null to disable logging.
      verbose - Whether to perform verbose logging.
      fastMode - The fast deletion mode
  • Method Details

    • delete

      public void delete(File basedir, Selector selector, boolean followSymlinks, boolean failOnError, boolean retryOnError) throws IOException
      Deletes the specified directories and its contents.
      Parameters:
      basedir - The directory to delete, must not be null. Non-existing directories will be silently ignored.
      selector - The selector used to determine what contents to delete, may be null to delete everything.
      followSymlinks - Whether to follow symlinks.
      failOnError - Whether to abort with an exception in case a selected file/directory could not be deleted.
      retryOnError - Whether to undertake additional delete attempts in case the first attempt failed.
      Throws:
      IOException - If a file/directory could not be deleted and failOnError is true.
    • fastDelete

      private boolean fastDelete(File baseDirFile)
    • delete

      private Cleaner.Result delete(File file, String pathname, Selector selector, boolean followSymlinks, boolean failOnError, boolean retryOnError) throws IOException
      Deletes the specified file or directory.
      Parameters:
      file - The file/directory to delete, must not be null. If followSymlinks is false, it is assumed that the parent file is canonical.
      pathname - The relative pathname of the file, using File.separatorChar, must not be null.
      selector - The selector used to determine what contents to delete, may be null to delete everything.
      followSymlinks - Whether to follow symlinks.
      failOnError - Whether to abort with an exception in case a selected file/directory could not be deleted.
      retryOnError - Whether to undertake additional delete attempts in case the first attempt failed.
      Returns:
      The result of the cleaning, never null.
      Throws:
      IOException - If a file/directory could not be deleted and failOnError is true.
    • delete

      private int delete(File file, boolean failOnError, boolean retryOnError) throws IOException
      Deletes the specified file, directory. If the path denotes a symlink, only the link is removed, its target is left untouched.
      Parameters:
      file - The file/directory to delete, must not be null.
      failOnError - Whether to abort with an exception in case the file/directory could not be deleted.
      retryOnError - Whether to undertake additional delete attempts in case the first attempt failed.
      Returns:
      0 if the file was deleted, 1 otherwise.
      Throws:
      IOException - If a file/directory could not be deleted and failOnError is true.