private void removeFtpDirectory()

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);
            }
        }