in src/main/java/com/microsoft/jenkins/appservice/commands/FTPDeployCommand.java [166:197]
private void removeFtpDirectory(FTPClient ftpClient, String dir)
throws IOException, FTPException {
listener.getLogger().println("Removing remote directory: " + dir);
FTPFile[] subFiles = ftpClient.listFiles(dir);
if (subFiles.length > 0) {
for (FTPFile ftpFile : subFiles) {
String fileName = ftpFile.getName();
if (fileName.equals(".") || fileName.equals("..")) {
// Skip
continue;
}
String fullFileName = dir + "/" + fileName;
if (ftpFile.isDirectory()) {
// Remove sub directory recursively
removeFtpDirectory(ftpClient, fullFileName);
} else {
// Delete regular file
listener.getLogger().println("Removing remote file: " + fullFileName);
if (!ftpClient.deleteFile(fullFileName)) {
throw new FTPException("Fail to delete file: " + fullFileName);
}
}
}
}
if (!ftpClient.removeDirectory(dir)) {
throw new FTPException("Fail to remove directory: " + dir);
}
}