Groovy enhances the File
class with several methods. One is the deleteDir()
method. With this method we can delete a directory with all it's subdirectories and files. So the directory doesn't need to be empty to run this method.
def mainDir = new File('test') def subDir = new File(mainDir, 'app') def file = new File(subDir, 'test.txt') subDir.mkdirs() // Create directories. file << 'sample' // Create file and add contents. assert mainDir.exists() && subDir.exists() && file.exists() def result = mainDir.deleteDir() // Returns true if all goes well, false otherwise. assert result assert !mainDir.exists() && !subDir.exists() && !file.exists()