embulk-output-ftp 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99f92ff252075824f860a2929aa8dc90609b3760
|
4
|
+
data.tar.gz: ae7284ac04e110cb17b02f5830a2bdc52c5e309c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f867e7103b201e4ddbab093001d6fa657d4932c469bae0baca717ce618b45d6e72521ffae58f0aab43c93d171250e366cf3666b204be31b7906fdbd00505c92
|
7
|
+
data.tar.gz: 36e2127321a3cef31515fe3b037c35db61c3187afdf5fd7010e8de2e64c9eca48f6eb1eee83f55498f79f86b7ed232d4c1e54c9e06ef487ecdd5a64e9b7d7382
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.1.4 - 2016-07-29
|
2
|
+
|
3
|
+
* [maintenance] Fix default port number generation logic [#7](https://github.com/embulk/embulk-output-ftp/pull/7)
|
4
|
+
|
1
5
|
## 0.1.3 - 2016-07-21
|
2
6
|
|
3
7
|
* [new feature] Support both of FTPS(explicit) and FTPS(implicit). [#4](https://github.com/sakama/embulk-output-ftp/pull/4)
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# FTP file output plugin for Embulk
|
2
|
-
[![Build Status](https://travis-ci.org/
|
2
|
+
[![Build Status](https://travis-ci.org/embulk/embulk-output-ftp.svg?branch=master)](https://travis-ci.org/embulk/embulk-output-ftp)
|
3
3
|
|
4
4
|
This plugin support **FTP**, **FTPES(FTPS explicit)**, **FTPS(FTPS implicit)** and doesn't support **SFTP**.
|
5
5
|
|
@@ -14,7 +14,7 @@ If you want to use SFTP, please use [embulk-output-sftp](https://github.com/civi
|
|
14
14
|
## Configuration
|
15
15
|
|
16
16
|
- **host**: FTP server address (string, required)
|
17
|
-
- **port**: FTP server port number (integer, default: `21`.)
|
17
|
+
- **port**: FTP server port number (integer, default: `21`. `990` if `ssl` is true and `ssl_explicit` is false)
|
18
18
|
- **user**: user name to login (string, optional)
|
19
19
|
- **password**: password to login (string, default: `""`)
|
20
20
|
- **path_prefix** prefix of target files (string, required)
|
@@ -173,4 +173,4 @@ Then start your applications.
|
|
173
173
|
|
174
174
|
## Acknowledgement
|
175
175
|
|
176
|
-
This program is forked from [embulk-input-ftp](https://github.com/embulk/embulk-input-ftp) and originally written by @frsyuki, modified by @sakama.
|
176
|
+
This program is forked from [embulk-input-ftp](https://github.com/embulk/embulk-input-ftp) and originally written by @frsyuki, modified by @sakama.
|
data/build.gradle
CHANGED
@@ -14,7 +14,7 @@ configurations {
|
|
14
14
|
provided
|
15
15
|
}
|
16
16
|
|
17
|
-
version = "0.1.
|
17
|
+
version = "0.1.4"
|
18
18
|
|
19
19
|
sourceCompatibility = 1.7
|
20
20
|
targetCompatibility = 1.7
|
@@ -68,7 +68,7 @@ Gem::Specification.new do |spec|
|
|
68
68
|
spec.description = %[Store files using FTP.]
|
69
69
|
spec.email = ["satoshiakama@gmail.com"]
|
70
70
|
spec.licenses = ["Apache 2.0"]
|
71
|
-
spec.homepage = "https://github.com/
|
71
|
+
spec.homepage = "https://github.com/embulk/embulk-output-ftp"
|
72
72
|
|
73
73
|
spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
|
74
74
|
spec.test_files = spec.files.grep(%r"^(test|spec)/")
|
Binary file
|
@@ -32,10 +32,8 @@ import java.io.BufferedInputStream;
|
|
32
32
|
import java.io.BufferedOutputStream;
|
33
33
|
import java.io.File;
|
34
34
|
import java.io.FileInputStream;
|
35
|
-
import java.io.FileNotFoundException;
|
36
35
|
import java.io.FileOutputStream;
|
37
36
|
import java.io.IOException;
|
38
|
-
import java.net.URISyntaxException;
|
39
37
|
import java.nio.file.Path;
|
40
38
|
import java.nio.file.Paths;
|
41
39
|
import java.util.List;
|
@@ -48,7 +46,7 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
48
46
|
String getHost();
|
49
47
|
|
50
48
|
@Config("port")
|
51
|
-
@ConfigDefault("
|
49
|
+
@ConfigDefault("null")
|
52
50
|
Optional<Integer> getPort();
|
53
51
|
void setPort(Optional<Integer> port);
|
54
52
|
|
@@ -95,6 +93,9 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
95
93
|
}
|
96
94
|
|
97
95
|
private static final Logger log = Exec.getLogger(FtpFileOutputPlugin.class);
|
96
|
+
private static final Integer FTP_DEFULAT_PORT = 21;
|
97
|
+
private static final Integer FTPS_DEFAULT_PORT = 990;
|
98
|
+
private static final Integer FTPES_DEFAULT_PORT = 21;
|
98
99
|
private static final long TRANSFER_NOTICE_BYTES = 100 * 1024 * 1024;
|
99
100
|
|
100
101
|
@Override
|
@@ -315,19 +316,26 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
315
316
|
private static FTPClient newFTPClient(Logger log, PluginTask task)
|
316
317
|
{
|
317
318
|
FTPClient client = new FTPClient();
|
319
|
+
Integer defaultPort = FTP_DEFULAT_PORT;
|
318
320
|
try {
|
319
321
|
if (task.getSsl()) {
|
320
322
|
client.setSSLSocketFactory(SSLPlugins.newSSLSocketFactory(task.getSSLConfig(), task.getHost()));
|
321
323
|
if (task.getSslExplicit()) {
|
322
324
|
client.setSecurity(FTPClient.SECURITY_FTPES);
|
325
|
+
defaultPort = FTPES_DEFAULT_PORT;
|
323
326
|
log.info("Using FTPES(FTPS/explicit) mode");
|
324
327
|
}
|
325
328
|
else {
|
326
329
|
client.setSecurity(FTPClient.SECURITY_FTPS);
|
330
|
+
defaultPort = FTPS_DEFAULT_PORT;
|
327
331
|
log.info("Using FTPS(FTPS/implicit) mode");
|
328
332
|
}
|
329
333
|
}
|
330
334
|
|
335
|
+
if (!task.getPort().isPresent()) {
|
336
|
+
task.setPort(Optional.of(defaultPort));
|
337
|
+
}
|
338
|
+
|
331
339
|
client.addCommunicationListener(new LoggingCommunicationListner(log));
|
332
340
|
|
333
341
|
// TODO configurable timeout parameters
|
@@ -345,9 +353,13 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
345
353
|
//client.setDataTimeout
|
346
354
|
//client.setAutodetectUTF8
|
347
355
|
|
348
|
-
log.info("Connecting to {}", task.getHost());
|
349
356
|
if (task.getPort().isPresent()) {
|
350
357
|
client.connect(task.getHost(), task.getPort().get());
|
358
|
+
log.info("Connecting to {}:{}", task.getHost(), task.getPort().get());
|
359
|
+
}
|
360
|
+
else {
|
361
|
+
client.connect(task.getHost());
|
362
|
+
log.info("Connecting to {}", task.getHost());
|
351
363
|
}
|
352
364
|
|
353
365
|
if (task.getUser().isPresent()) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-output-ftp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Satoshi Akama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -69,9 +69,9 @@ files:
|
|
69
69
|
- src/test/resources/sample_02.csv
|
70
70
|
- classpath/bcpkix-jdk15on-1.52.jar
|
71
71
|
- classpath/bcprov-jdk15on-1.52.jar
|
72
|
-
- classpath/embulk-output-ftp-0.1.
|
72
|
+
- classpath/embulk-output-ftp-0.1.4.jar
|
73
73
|
- classpath/ftp4j-1.7.2.jar
|
74
|
-
homepage: https://github.com/
|
74
|
+
homepage: https://github.com/embulk/embulk-output-ftp
|
75
75
|
licenses:
|
76
76
|
- Apache 2.0
|
77
77
|
metadata: {}
|