Gradle之FTP文件下载
Posted hejing-michael
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle之FTP文件下载相关的知识,希望对你有一定的参考价值。
Gradle之FTP文件下载
1、背景
项目上需要使用本地web,所以我们直接将web直接放入assets资源文件夹下。但是随着开发进行web包越来越大;所以我们想着从版本库里面去掉web将其忽略掉,使用gradle命令下载web。由于web包是放在局域网服务器上的,服务器支持FTP文件协议,所以使用FTP插件下载文件。
2、FTP
FTP官网文档
Gradle官网文档
gradle配置
3、FTP工具
ftp-util.gradle
configurations
ftpAntTask
dependencies
ftpAntTask("org.apache.ant:ant-commons-net:1.9.2")
module("commons-net:commons-net:3.3")
void downloadFtpFiles(String serverIp, String userId, String password, String url, localDir)
ant.taskdef(
name: 'ftp',
classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
classpath: configurations.ftpAntTask.asPath
)
//指定ftp地址及账户信息
ant.ftp(action: 'get', server: serverIp, userid: userId, password: password, remotedir: url)
// 删除老文件
delete(new File(localDir))
//指定下载文件位置
fileset(dir: new File(localDir))
include(name: "**")
//导出函数
ext
downloadFtpFiles = this.&downloadFtpFiles
使用方式:
导入方式:将ftp-util.gradle文件放在根目录下然后使用一下代码导入groovy
代码
apply from: "$project.rootProject.file('ftp-util.gradle')"
下载任务
task downloadFiles()
//清理缓存
dependsOn 'clean'
def dir = buildDir.getPath() + '/dir'
doLast
//获取最新版本信息
ant
println 'web-ftp:serverIp:' + serverIp
println 'web-ftp:userId:' + userId
println 'web-ftp:password:' + password
println 'web-ftp:dir:' + dir
println 'web-ftp:sync start'
def url = webUrl + '/latest'
//调用FTP插件下载文件函数
downloadFtpFiles(serverIp, userId, password, url, dir)
println 'web-ftp:sync end'
调用task方式
./gradlew downloadFiles
以上是关于Gradle之FTP文件下载的主要内容,如果未能解决你的问题,请参考以下文章
2.1.5基础之命令行链接ftp dos中的ftp上传下载文件
2.1.5基础之命令行链接ftp dos中的ftp上传下载文件