diff --git a/applications/stream-applications-build/stream-applications-descriptor/pom.xml b/applications/stream-applications-build/stream-applications-descriptor/pom.xml
index fc9b5875..f45c1933 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/pom.xml
+++ b/applications/stream-applications-build/stream-applications-descriptor/pom.xml
@@ -15,11 +15,13 @@
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
3.0.0-SNAPSHOT
@@ -72,6 +74,8 @@
"${counter-sink.version}".contains('SNAPSHOT') ? 'latest' : "${counter-sink.version}";
pom.properties['file-sink-docker.tag']=
"${file-sink.version}".contains('SNAPSHOT') ? 'latest' : "${file-sink.version}";
+ pom.properties['ftp-sink-docker.tag']=
+ "${ftp-sink.version}".contains('SNAPSHOT') ? 'latest' : "${ftp-sink.version}";
pom.properties['jdbc-sink-docker.tag']=
"${jdbc-sink.version}".contains('SNAPSHOT') ? 'latest' : "${jdbc-sink.version}";
pom.properties['log-sink-docker.tag']=
@@ -82,6 +86,8 @@
"${rabbit-sink.version}".contains('SNAPSHOT') ? 'latest' : "${rabbit-sink.version}";
pom.properties['redis-sink-docker.tag']=
"${redis-sink.version}".contains('SNAPSHOT') ? 'latest' : "${redis-sink.version}";
+ pom.properties['sftp-sink-docker.tag']=
+ "${sftp-sink.version}".contains('SNAPSHOT') ? 'latest' : "${sftp-sink.version}";
pom.properties['file-source-docker.tag']=
"${file-source.version}".contains('SNAPSHOT') ? 'latest' : "${file-source.version}";
pom.properties['http-source-docker.tag']=
diff --git a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties
index 80dcf579..e570c069 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties
+++ b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-docker.properties
@@ -1,11 +1,13 @@
sink.cassandra=docker:springcloudstream/cassandra-sink-kafka:@cassandra-sink-docker.tag@
sink.counter=docker:springcloudstream/counter-sink-kafka:@counter-sink-docker.tag@
sink.file=docker:springcloudstream/file-sink-kafka:@file-sink-docker.tag@
+sink.ftp=docker:springcloudstream/ftp-sink-kafka:@ftp-sink-docker.tag@
sink.jdbc=docker:springcloudstream/jdbc-sink-kafka:@jdbc-sink-docker.tag@
sink.log=docker:springcloudstream/log-sink-kafka:@log-sink-docker.tag@
sink.mongodb=docker:springcloudstream/mongodb-sink-kafka:@mongodb-sink-docker.tag@
sink.rabbit=docker:springcloudstream/rabbit-sink-kafka:@rabbit-sink-docker.tag@
sink.redis=docker:springcloudstream/redis-sink-kafka:@redis-sink-docker.tag@
+sink.sftp=docker:springcloudstream/sftp-sink-kafka:@sftp-sink-docker.tag@
source.file=docker:springcloudstream/file-source-kafka:@file-source-docker.tag@
source.http=docker:springcloudstream/http-source-kafka:@http-source-docker.tag@
source.jdbc=docker:springcloudstream/jdbc-source-kafka:@jdbc-source-docker.tag@
diff --git a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties
index c11d16bd..64c434bd 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties
+++ b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven-repo-url.properties
@@ -4,6 +4,8 @@ sink.counter=https://@repo-spring-io@/org/springframework/cloud/stream/app/count
sink.counter.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/counter-sink-kafka/@counter-sink.version@/counter-sink-kafka-@counter-sink.version@-metadata.jar
sink.file=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-sink-kafka/@file-sink.version@/file-sink-kafka-@file-sink.version@.jar
sink.file.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-sink-kafka/@file-sink.version@/file-sink-kafka-@file-sink.version@-metadata.jar
+sink.ftp=https://@repo-spring-io@/org/springframework/cloud/stream/app/ftp-sink-kafka/@ftp-sink.version@/ftp-sink-kafka-@ftp-sink.version@.jar
+sink.ftp.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/ftp-sink-kafka/@ftp-sink.version@/ftp-sink-kafka-@ftp-sink.version@-metadata.jar
sink.jdbc=https://@repo-spring-io@/org/springframework/cloud/stream/app/jdbc-sink-kafka/@jdbc-sink.version@/jdbc-sink-kafka-@jdbc-sink.version@.jar
sink.jdbc.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/jdbc-sink-kafka/@jdbc-sink.version@/jdbc-sink-kafka-@jdbc-sink.version@-metadata.jar
sink.log=https://@repo-spring-io@/org/springframework/cloud/stream/app/log-sink-kafka/@log-sink.version@/log-sink-kafka-@log-sink.version@.jar
@@ -14,6 +16,8 @@ sink.rabbit=https://@repo-spring-io@/org/springframework/cloud/stream/app/rabbit
sink.rabbit.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/rabbit-sink-kafka/@rabbit-sink.version@/rabbit-sink-kafka-@rabbit-sink.version@-metadata.jar
sink.redis=https://@repo-spring-io@/org/springframework/cloud/stream/app/redis-sink-kafka/@redis-sink.version@/redis-sink-kafka-@redis-sink.version@.jar
sink.redis.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/redis-sink-kafka/@redis-sink.version@/redis-sink-kafka-@redis-sink.version@-metadata.jar
+sink.sftp=https://@repo-spring-io@/org/springframework/cloud/stream/app/sftp-sink-kafka/@sftp-sink.version@/sftp-sink-kafka-@sftp-sink.version@.jar
+sink.sftp.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/sftp-sink-kafka/@sftp-sink.version@/sftp-sink-kafka-@sftp-sink.version@-metadata.jar
source.file=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-source-kafka/@file-source.version@/file-source-kafka-@file-source.version@.jar
source.file.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-source-kafka/@file-source.version@/file-source-kafka-@file-source.version@-metadata.jar
source.http=https://@repo-spring-io@/org/springframework/cloud/stream/app/http-source-kafka/@http-source.version@/http-source-kafka-@http-source.version@.jar
diff --git a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties
index 8e57b35e..eadddf7e 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties
+++ b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/kafka-apps-maven.properties
@@ -4,6 +4,8 @@ sink.counter=maven://org.springframework.cloud.stream.app:counter-sink-kafka:@co
sink.counter.metadata=maven://org.springframework.cloud.stream.app:counter-sink-kafka:jar:metadata:@counter-sink.version@
sink.file=maven://org.springframework.cloud.stream.app:file-sink-kafka:@file-sink.version@
sink.file.metadata=maven://org.springframework.cloud.stream.app:file-sink-kafka:jar:metadata:@file-sink.version@
+sink.ftp=maven://org.springframework.cloud.stream.app:ftp-sink-kafka:@ftp-sink.version@
+sink.ftp.metadata=maven://org.springframework.cloud.stream.app:ftp-sink-kafka:jar:metadata:@ftp-sink.version@
sink.jdbc=maven://org.springframework.cloud.stream.app:jdbc-sink-kafka:@jdbc-sink.version@
sink.jdbc.metadata=maven://org.springframework.cloud.stream.app:jdbc-sink-kafka:jar:metadata:@jdbc-sink.version@
sink.log=maven://org.springframework.cloud.stream.app:log-sink-kafka:@log-sink.version@
@@ -14,6 +16,8 @@ sink.rabbit=maven://org.springframework.cloud.stream.app:rabbit-sink-kafka:@rabb
sink.rabbit.metadata=maven://org.springframework.cloud.stream.app:rabbit-sink-kafka:jar:metadata:@rabbit-sink.version@
sink.redis=maven://org.springframework.cloud.stream.app:redis-sink-kafka:@redis-sink.version@
sink.redis.metadata=maven://org.springframework.cloud.stream.app:redis-sink-kafka:jar:metadata:@redis-sink.version@
+sink.sftp=maven://org.springframework.cloud.stream.app:sftp-sink-kafka:@sftp-sink.version@
+sink.sftp.metadata=maven://org.springframework.cloud.stream.app:sftp-sink-kafka:jar:metadata:@sftp-sink.version@
source.file=maven://org.springframework.cloud.stream.app:file-source-kafka:@file-source.version@
source.file.metadata=maven://org.springframework.cloud.stream.app:file-source-kafka:jar:metadata:@file-source.version@
source.http=maven://org.springframework.cloud.stream.app:http-source-kafka:@http-source.version@
diff --git a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties
index ed4bceb6..8bb93eeb 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties
+++ b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-docker.properties
@@ -1,11 +1,13 @@
sink.cassandra=docker:springcloudstream/cassandra-sink-rabbit:@cassandra-sink-docker.tag@
sink.counter=docker:springcloudstream/counter-sink-rabbit:@counter-sink-docker.tag@
sink.file=docker:springcloudstream/file-sink-rabbit:@file-sink-docker.tag@
+sink.ftp=docker:springcloudstream/ftp-sink-rabbit:@ftp-sink-docker.tag@
sink.jdbc=docker:springcloudstream/jdbc-sink-rabbit:@jdbc-sink-docker.tag@
sink.log=docker:springcloudstream/log-sink-rabbit:@log-sink-docker.tag@
sink.mongodb=docker:springcloudstream/mongodb-sink-rabbit:@mongodb-sink-docker.tag@
sink.rabbit=docker:springcloudstream/rabbit-sink-rabbit:@rabbit-sink-docker.tag@
sink.redis=docker:springcloudstream/redis-sink-rabbit:@redis-sink-docker.tag@
+sink.sftp=docker:springcloudstream/sftp-sink-rabbit:@sftp-sink-docker.tag@
source.file=docker:springcloudstream/file-source-rabbit:@file-source-docker.tag@
source.http=docker:springcloudstream/http-source-rabbit:@http-source-docker.tag@
source.jdbc=docker:springcloudstream/jdbc-source-rabbit:@jdbc-source-docker.tag@
diff --git a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties
index 8c5eff13..d6c3fade 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties
+++ b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven-repo-url.properties
@@ -4,6 +4,8 @@ sink.counter=https://@repo-spring-io@/org/springframework/cloud/stream/app/count
sink.counter.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/counter-sink-rabbit/@counter-sink.version@/counter-sink-rabbit-@counter-sink.version@-metadata.jar
sink.file=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-sink-rabbit/@file-sink.version@/file-sink-rabbit-@file-sink.version@.jar
sink.file.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-sink-rabbit/@file-sink.version@/file-sink-rabbit-@file-sink.version@-metadata.jar
+sink.ftp=https://@repo-spring-io@/org/springframework/cloud/stream/app/ftp-sink-rabbit/@ftp-sink.version@/ftp-sink-rabbit-@ftp-sink.version@.jar
+sink.ftp.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/ftp-sink-rabbit/@ftp-sink.version@/ftp-sink-rabbit-@ftp-sink.version@-metadata.jar
sink.jdbc=https://@repo-spring-io@/org/springframework/cloud/stream/app/jdbc-sink-rabbit/@jdbc-sink.version@/jdbc-sink-rabbit-@jdbc-sink.version@.jar
sink.jdbc.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/jdbc-sink-rabbit/@jdbc-sink.version@/jdbc-sink-rabbit-@jdbc-sink.version@-metadata.jar
sink.log=https://@repo-spring-io@/org/springframework/cloud/stream/app/log-sink-rabbit/@log-sink.version@/log-sink-rabbit-@log-sink.version@.jar
@@ -14,6 +16,8 @@ sink.rabbit=https://@repo-spring-io@/org/springframework/cloud/stream/app/rabbit
sink.rabbit.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/rabbit-sink-rabbit/@rabbit-sink.version@/rabbit-sink-rabbit-@rabbit-sink.version@-metadata.jar
sink.redis=https://@repo-spring-io@/org/springframework/cloud/stream/app/redis-sink-rabbit/@redis-sink.version@/redis-sink-rabbit-@redis-sink.version@.jar
sink.redis.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/redis-sink-rabbit/@redis-sink.version@/redis-sink-rabbit-@redis-sink.version@-metadata.jar
+sink.sftp=https://@repo-spring-io@/org/springframework/cloud/stream/app/sftp-sink-rabbit/@sftp-sink.version@/sftp-sink-rabbit-@sftp-sink.version@.jar
+sink.sftp.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/sftp-sink-rabbit/@sftp-sink.version@/sftp-sink-rabbit-@sftp-sink.version@-metadata.jar
source.file=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-source-rabbit/@file-source.version@/file-source-rabbit-@file-source.version@.jar
source.file.metadata=https://@repo-spring-io@/org/springframework/cloud/stream/app/file-source-rabbit/@file-source.version@/file-source-rabbit-@file-source.version@-metadata.jar
source.http=https://@repo-spring-io@/org/springframework/cloud/stream/app/http-source-rabbit/@http-source.version@/http-source-rabbit-@http-source.version@.jar
diff --git a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties
index db2eb199..4d27b21d 100644
--- a/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties
+++ b/applications/stream-applications-build/stream-applications-descriptor/src/main/resources/META-INF/rabbit-apps-maven.properties
@@ -4,6 +4,8 @@ sink.counter=maven://org.springframework.cloud.stream.app:counter-sink-rabbit:@c
sink.counter.metadata=maven://org.springframework.cloud.stream.app:counter-sink-rabbit:jar:metadata:@counter-sink.version@
sink.file=maven://org.springframework.cloud.stream.app:file-sink-rabbit:@file-sink.version@
sink.file.metadata=maven://org.springframework.cloud.stream.app:file-sink-rabbit:jar:metadata:@file-sink.version@
+sink.ftp=maven://org.springframework.cloud.stream.app:ftp-sink-rabbit:@ftp-sink.version@
+sink.ftp.metadata=maven://org.springframework.cloud.stream.app:ftp-sink-rabbit:jar:metadata:@ftp-sink.version@
sink.jdbc=maven://org.springframework.cloud.stream.app:jdbc-sink-rabbit:@jdbc-sink.version@
sink.jdbc.metadata=maven://org.springframework.cloud.stream.app:jdbc-sink-rabbit:jar:metadata:@jdbc-sink.version@
sink.log=maven://org.springframework.cloud.stream.app:log-sink-rabbit:@log-sink.version@
@@ -14,6 +16,8 @@ sink.rabbit=maven://org.springframework.cloud.stream.app:rabbit-sink-rabbit:@rab
sink.rabbit.metadata=maven://org.springframework.cloud.stream.app:rabbit-sink-rabbit:jar:metadata:@rabbit-sink.version@
sink.redis=maven://org.springframework.cloud.stream.app:redis-sink-rabbit:@redis-sink.version@
sink.redis.metadata=maven://org.springframework.cloud.stream.app:redis-sink-rabbit:jar:metadata:@redis-sink.version@
+sink.sftp=maven://org.springframework.cloud.stream.app:sftp-sink-rabbit:@sftp-sink.version@
+sink.sftp.metadata=maven://org.springframework.cloud.stream.app:sftp-sink-rabbit:jar:metadata:@sftp-sink.version@
source.file=maven://org.springframework.cloud.stream.app:file-source-rabbit:@file-source.version@
source.file.metadata=maven://org.springframework.cloud.stream.app:file-source-rabbit:jar:metadata:@file-source.version@
source.http=maven://org.springframework.cloud.stream.app:http-source-rabbit:@http-source.version@
diff --git a/applications/stream-applications-build/stream-applications-docs/pom.xml b/applications/stream-applications-build/stream-applications-docs/pom.xml
index e1093abd..502dfaf3 100644
--- a/applications/stream-applications-build/stream-applications-docs/pom.xml
+++ b/applications/stream-applications-build/stream-applications-docs/pom.xml
@@ -112,6 +112,16 @@
groovy-transform-processor
3.0.0-SNAPSHOT
+
+ org.springframework.cloud.fn
+ sftp-consumer
+ ${java-functions.version}
+
+
+ org.springframework.cloud.fn
+ ftp-consumer
+ ${java-functions.version}
+
diff --git a/applications/stream-applications-build/stream-applications-docs/src/main/asciidoc/sinks.adoc b/applications/stream-applications-build/stream-applications-docs/src/main/asciidoc/sinks.adoc
index 56d0c775..3b01c25c 100644
--- a/applications/stream-applications-build/stream-applications-docs/src/main/asciidoc/sinks.adoc
+++ b/applications/stream-applications-build/stream-applications-docs/src/main/asciidoc/sinks.adoc
@@ -7,6 +7,8 @@
include::{stream-apps-root}/{branch}/applications/sink/cassandra-sink/README.adoc[tags=ref-doc]
[[spring-cloud-stream-modules-counter-sink]]
include::{stream-apps-root}/{branch}/applications/sink/counter-sink/README.adoc[tags=ref-doc]
+[[spring-cloud-stream-modules-ftp-sink]]
+include::{stream-apps-root}/{branch}/applications/sink/ftp-sink/README.adoc[tags=ref-doc]
[[spring-cloud-stream-modules-jdbc-sink]]
include::{stream-apps-root}/{branch}/applications/sink/jdbc-sink/README.adoc[tags=ref-doc]
[[spring-cloud-stream-modules-log-sink]]
@@ -17,5 +19,7 @@ include::{stream-apps-root}/{branch}/applications/sink/mongodb-sink/README.adoc[
include::{stream-apps-root}/{branch}/applications/sink/rabbit-sink/README.adoc[tags=ref-doc]
[[spring-cloud-stream-modules-redis-sink]]
include::{stream-apps-root}/{branch}/applications/sink/redis-sink/README.adoc[tags=ref-doc]
+[[spring-cloud-stream-modules-sftp-sink]]
+include::{stream-apps-root}/{branch}/applications/sink/sftp-sink/README.adoc[tags=ref-doc]
:leveloffset: -2