Gradle delete任务目录无法将URL转换为文件

时间:2015-10-16 19:49:18

标签: gradle gradlew

我正在尝试通过sftp从我服务器网络中的文件夹中删除一些文件。

task deleteTask(type: Delete, description: "Deletes the files in sftp://my.server.com") {
    delete fileTree(dir: "sftp://my.server.com")
}

当我跑./gradlew deleteTask时,我得到:

// my.server.com is just an example
> Cannot convert URL "sftp://my.server.com" to a file.

尝试在SO以及其他地方寻找它,但我没有得到任何地方。将gradle指向服务器网络以删除文件的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我猜使用delte不是正确的方法。我会尝试使用ant的FTP任务删除该文件:

configurations {
   ftpAntTask
}

dependencies {
    ftpAntTask("org.apache.ant:ant-commons-net:1.9.4") {
        module("commons-net:commons-net:1.4.1") {
            dependencies "oro:oro:2.0.8:jar"
        }
    }
}

task ftp << {
    ant {
        taskdef(name: 'ftp',
                classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
                classpath: configurations.ftpAntTask.asPath)
        ftp(server: "ftp.apache.org", userid: "anonymous", password: "me@myorg.com" action: "delete") {
            fileset(dir: "htdocs/manual")
        }
    }
}

这是从gradle文档中复制和修改的:https://docs.gradle.org/current/userguide/organizing_build_logic.html