You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by da...@apache.org on 2016/12/02 04:40:50 UTC
maven-wagon git commit: [WAGON-458] FTPSClient for Wagon
Repository: maven-wagon
Updated Branches:
refs/heads/master ffa7fc883 -> e30c31d4b
[WAGON-458] FTPSClient for Wagon
Submitted by: Witek
Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/e30c31d4
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/e30c31d4
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/e30c31d4
Branch: refs/heads/master
Commit: e30c31d4bd0762ec0ec54ae44fc1f3ef407c81c1
Parents: ffa7fc8
Author: trand8 <da...@emc.com>
Authored: Thu Dec 1 20:40:44 2016 -0800
Committer: trand8 <da...@emc.com>
Committed: Thu Dec 1 20:40:44 2016 -0800
----------------------------------------------------------------------
wagon-providers/wagon-ftp/pom.xml | 2 +-
.../maven/wagon/providers/ftp/FtpWagon.java | 7 ++-
.../maven/wagon/providers/ftp/FtpsWagon.java | 64 ++++++++++++++++++++
.../wagon-ftp/src/site/apt/index.apt | 63 ++++++++++++++++++-
4 files changed, 133 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/e30c31d4/wagon-providers/wagon-ftp/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ftp/pom.xml b/wagon-providers/wagon-ftp/pom.xml
index 2755a57..8cec0c9 100644
--- a/wagon-providers/wagon-ftp/pom.xml
+++ b/wagon-providers/wagon-ftp/pom.xml
@@ -37,7 +37,7 @@ under the License.
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
- <version>3.1</version>
+ <version>3.5</version>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/e30c31d4/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
index 455d3f4..4fa0fd6 100644
--- a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
+++ b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
@@ -112,7 +112,7 @@ public class FtpWagon
String host = getRepository().getHost();
- ftp = new FTPClient();
+ ftp = createClient();
ftp.setDefaultTimeout( getTimeout() );
ftp.setDataTimeout( getTimeout() );
ftp.setControlEncoding( getControlEncoding() );
@@ -187,6 +187,11 @@ public class FtpWagon
}
}
+ protected FTPClient createClient()
+ {
+ return new FTPClient();
+ }
+
protected void firePutCompleted( Resource resource, File file )
{
try
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/e30c31d4/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java
new file mode 100644
index 0000000..3736449
--- /dev/null
+++ b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java
@@ -0,0 +1,64 @@
+package org.apache.maven.wagon.providers.ftp;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.net.ftp.FTPClient;
+import org.apache.commons.net.ftp.FTPSClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * FtpsWagon
+ *
+ *
+ * @plexus.component role="org.apache.maven.wagon.Wagon"
+ * role-hint="ftps"
+ * instantiation-strategy="per-lookup"
+ */
+public class FtpsWagon
+ extends FtpWagon
+{
+ private static final Logger LOG = LoggerFactory.getLogger( FtpsWagon.class );
+
+ /**
+ * @plexus.configuration default-value="TLS"
+ */
+ private String securityProtocol = "TLS";
+
+ /**
+ * @plexus.configuration default-value="false"
+ */
+ private boolean implicit = false;
+
+ /**
+ * @plexus.configuration default-value="true"
+ */
+ private boolean endpointChecking = true;
+
+ @Override
+ protected FTPClient createClient()
+ {
+ LOG.debug( "Creating secure FTP client. Protocol: [{}], implicit mode: [{}], endpoint checking: [{}].",
+ securityProtocol, implicit, endpointChecking );
+ FTPSClient client = new FTPSClient( securityProtocol, implicit );
+ client.setEndpointCheckingEnabled( endpointChecking );
+ return client;
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/e30c31d4/wagon-providers/wagon-ftp/src/site/apt/index.apt
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ftp/src/site/apt/index.apt b/wagon-providers/wagon-ftp/src/site/apt/index.apt
index 0f7f47e..a44f821 100644
--- a/wagon-providers/wagon-ftp/src/site/apt/index.apt
+++ b/wagon-providers/wagon-ftp/src/site/apt/index.apt
@@ -38,4 +38,65 @@ Features
* Get files from FTP Server
- * Deploy files to FTP server
\ No newline at end of file
+ * Deploy files to FTP server
+
+Configuration
+
+ * <<<passiveMode>>> default: <<true>>
+
+ * <<<controlEncoding>>> default: <<"ISO-8859-1">>,
+ set from <<<org.apache.commons.net.ftp.FTP.DEFAULT_CONTROL_ENCODING>>>
+
+ * <<<securityProtocol>>> default: <<TLS>>, FTPS security protocol, TLS or SSL
+
+ * <<<implicit>>> default: <<false>>
+
+ * <<<endpointChecking>>> default: <<true>>
+
+Sample Configuration
+
+* pom.xml
+
+---------------------------------------------
+<project>
+ ...
+ <distributionManagement>
+ ...
+ <site>
+ <id>ftp.server.id</id>
+ <!--<url>ftp://ftp.example.com</url>-->
+ <url>ftps://secure.example.com</url>
+ </site>
+ </distributionManagement>
+ ...
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ftp</artifactId>
+ </extension>
+ </extensions>
+ ...
+ </build>
+ ...
+</project>
+---------------------------------------------
+
+* settings.xml
+
+---------------------------------------------
+<settings>
+ ...
+ <servers>
+ ...
+ <server>
+ <id>ftp.server.id</id>
+ <username>username</username>
+ <password>password</password>
+ <configuration>
+ <endpointChecking>false</endpointChecking>
+ </configuration>
+ </server>
+ </servers>
+<settings>
+---------------------------------------------