Gradleでファイルアップロード(FTP)をしてみた。
FTPサーバーへのファイルアップロードを自動化したいなぁと思って調べていたら、stackoverflow.com 紹介されていたのでやってみました。
準備
以下の build.gradle を準備します。
apply plugin: 'java'
configurations {
ftpAntTask
}
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
ftpAntTask 'org.apache.ant:ant-commons-net:1.10.5'
}
task upload << {
ant.taskdef( name: 'ftp'
, classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP'
, classpath: configurations.ftpAntTask.asPath )
ant.ftp ( server: "(アップロード先ホスト名 or IP)"
, userid: "(ユーザーID)"
, password: "(パスワード)"
, remoteDir: "(アップロード先のディレクトリ)") {
fileset(dir: "(アップロード元のディレクトリ)")
}
}
実行
コマンドプロンプトで build.gradle の配置してあるディレクトリから以下のコマンドを実行
> gradle upload
感想
思っていたより簡単にFTPアップロードできちゃいました。ちなみに、オリジナルのサイトで 紹介されていた書き方をちょっと変えていますが、品質に問題ありませんでした。 filesetの部分を工夫すれば、ファイルを選択してアップロードも可能なので Windows の ftpコマンドより便利そうですね。