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文件下载的更多相关文章
- java实现FTP文件下载
package com.vingsoft.util;/*** @author 作者:dujj* @version 创建时间:2020年1月13日 下午5:53:39*/import java.io.F ...
- FTP文件下载
using EnterpriseDT.Net.Ftp; /// <summary> /// 下载FTP文件 /// </summary> /// <param name= ...
- sftp,ftp文件下载
一.sftp工具类 package com.ztesoft.iotcmp.util; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsc ...
- java/struts/Servlet文件下载与ftp文件上传下载
1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...
- [原创]python之socket-ftp
今天来讲讲ftp文件下载,感觉挺有趣的,知道吧,就那种看到新文件生成,而自己写的代码也不多,那种成就感! 一.需求: 客户端发送指令给服务端,服务端根据指令找到相应文件,发送给客户端 分析: PS:e ...
- FTP服务器中文环境引起润日下载不了附件问题解析
20160229日某农商行因为FTP下载功能有问题,导致当天所有涉及FTP文件下载的交易都不能正常使用,对于银行来说影响还是比较大.现将当天出问题的原因及处理过程解析如下,忘能给碰到类似问题的同行以供 ...
- C# ftp 图片上传多快好省
前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件.上传图片等等.那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只 ...
- C# 获取文件下载的各种方法
public class RemoteDownload { public static void DownLoad(string addressUrl,string localName) { //下载 ...
- java代码实现ftp服务器的文件上传和下载
java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools 工具类: ...
随机推荐
- Android 线性布局 LinearLayout
垂直布局 vertical <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- java打字游戏-一款快速提升java程序员打字速度的游戏(附源码)
一.效果如图: 源码地址:https://gitee.com/hoosson/TYPER 纯干货,别忘了留个赞哦!
- Mysql相关知识总结-持续更新~~~
2019-12-11对varchar类型排序问题的解决 在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varcha ...
- Java安装JDK
因为Java程序必须运行在JVM之上,所以,我们第一件事情就是安装JDK. 搜索JDK 13,确保从Oracle的官网下载最新的稳定版JDK: 1.选择JDK版本 2.同意协议,点击合适系统平台下载 ...
- Privacy Violation 侵犯隐私
- 移动端H5页面开发,碰到一个字体变大的BUG
移动端H5页面开发,碰到一个字体变大的BUG webkit内核下,对不定高宽的元素可能会放大其字体.那么,就可以设置一个max-width:或者使用-webkit-text-size-adjust: ...
- xms新版发布
基于.net core 3.0.101 github地址: https://github.com/migomiddle/xms 码云地址: https://gitee.com/migomiddle/x ...
- variable '' of type '' referenced from scope '', but it is not defined 异常解决方法
最近在做一个功能,通过拼接lamdba表达试来实现的功能,但测试时总是出现一个错误,如下图所示,网上也找不到答案,差点都放弃了.. 如上图图所示,我是想通过一个lamdba表达式(上图的IdField ...
- enable user-defined extended attributes for ext3 file systems; 增加ext3 文件系统的扩展属性;
To enable user-defined extended attributes for ext3 file systems (i.e. device), use: tune2fs -o user ...
- Go语言系列:(1)在VsCode中配置Go的开发环境
一.为什么选VSCode 这个系列的初宗是带领公司的PHPer转Go,在正式写这篇博文前,咱们先说说Go有哪些主流的IDE 1.GoLand(收费) JetBrains出品必属精品,除了贵没有其它缺点 ...