Great great great. The patch is only needed when you're using commons.net instead of NetComponents isn't it ?
ant 1.4.1 + Netcomponents 1.3.8 works great with iSeries FTP BTW, did there is a release date for commons.net ? Will it goes then from jakarta-commons-sandbox to jakarta-commons ? - Henri Gomez ___[_]____ EMAIL : [EMAIL PROTECTED] (. .) PGP KEY : 697ECEDD ...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 >-----Original Message----- >From: David Morris [mailto:[EMAIL PROTECTED] >Sent: Wednesday, June 12, 2002 5:55 PM >To: [EMAIL PROTECTED] >Subject: Re: FTP Support > > >Steve, > >Here is a patch for the FTP class that allows FTP to work against an >iSeries system. Please let me know if it is appropriate. I had a hard >time deciding whether this belongs in Ant or the underlying >org.apache.commons.net support. > >My thought with changing the commons.net FTP class was that it would >fix the list files for anything relying on that package. To fix it >there I would >patch it to set the system as a property when a connection is >established >and then set the listfmt in the getfiles if the default >FTPFileLIstParser is >being used. > >David Morris > >Index: src/main/org/apache/tools/ant/taskdefs/optional/net/ftp.java >=================================================================== >RCS file: >/home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/taskd >efs/optional/net/ftp.java,v > >retrieving revision 1.22 >diff -u -r1.22 ftp.java >--- >src/main/org/apache/tools/ant/taskdefs/optional/net/ftp.java 1 >Jun 2002 12:26:41 -0000 1.22 >+++ >src/main/org/apache/tools/ant/taskdefs/optional/net/ftp.java 12 >Jun 2002 15:31:52 -0000 >@@ -53,9 +53,9 @@ > */ > package org.apache.tools.ant.taskdefs.optional.net; > >-import com.oroinc.net.ftp.FTPClient; >-import com.oroinc.net.ftp.FTPFile; >-import com.oroinc.net.ftp.FTPReply; >+import org.apache.commons.net.ftp.FTPClient; >+import org.apache.commons.net.ftp.FTPFile; >+import org.apache.commons.net.ftp.FTPReply; > import org.apache.tools.ant.BuildException; > import org.apache.tools.ant.DirectoryScanner; > import org.apache.tools.ant.FileScanner; >@@ -132,6 +132,7 @@ > private String chmod = null; > private String umask = null; > private FileUtils fileUtils = FileUtils.newFileUtils(); >+ private String system; > > protected static final String[] ACTION_STRS = { > "sending", >@@ -612,7 +613,10 @@ > log("creating remote directory " + >resolveFile(dir.getPath()), > Project.MSG_VERBOSE); > if(!ftp.makeDirectory(resolveFile(dir.getPath()))) { >+ boolean saveIgnoreNoncriticalErrors = >ignoreNoncriticalErrors; >+ ignoreNoncriticalErrors = true; > handleMkDirFailure(ftp); >+ ignoreNoncriticalErrors = >saveIgnoreNoncriticalErrors; > } > dirCache.addElement(dir); > } >@@ -924,9 +928,19 @@ > } > > log("login succeeded", Project.MSG_VERBOSE); >+ >+ // Retrieve the system >+ ftp.syst(); >+ >+ if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) { >+ system = ftp.getReplyString(); >+ if (system.substring(5,11).equals("OS/400")) { >+ doSiteCommand(ftp, "listfmt 1"); >+ } >+ } > > if (binary) { >- >ftp.setFileType(com.oroinc.net.ftp.FTP.IMAGE_FILE_TYPE); >+ >ftp.setFileType(org.apache.commons.net.ftp.FTP.IMAGE_FILE_TYPE); > if >(!FTPReply.isPositiveCompletion(ftp.getReplyCode())) { > throw new BuildException("could not set transfer >type: " + > > >>>> [EMAIL PROTECTED] 06/10/02 10:04PM >>> > >...if that is what it takes. Better yet, have it work it out for >itself > > >-- >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
