2015-10-16 85 views
1

我试图从通过sftp服务器网络中的文件夹删除一些文件。Gradle删除任务目录无法将URL转换为文件

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指向服务器网络以删除文件的正确方法是什么?

回答

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: "[email protected]" action: "delete") { 
      fileset(dir: "htdocs/manual") 
     } 
    } 
} 

这被复制,并从gradle这个文档修改:https://docs.gradle.org/current/userguide/organizing_build_logic.html