ftp-upload/MRPP_UploadToFtp.xml (21 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE build-type SYSTEM "../../../project-config.dtd"> <build-type> <name>Upload to FTP</name> <description /> <settings> <parameters> <param name="system.ftp.server" value="" spec="text description='FTP server address' display='normal' label='FTP host:' validationMode='not_empty'" /> <param name="system.ftp.port" value="21" spec="text display='normal' label='FTP server port:' regexp='|[0-9|]+' validationMessage='Invalid port number' validationMode='regex'" /> <param name="system.ftp.user" value="" spec="text display='normal' label='Username:' validationMode='any'" /> <param name="system.ftp.password" value="zxx775d03cbe80d301b" spec="password display='normal' label='Password:'" /> <param name="system.src.dir" value="" spec="text description='Directory with files for upload (if empty - current directory will be used)' display='normal' label='Source directory:' validationMode='any'" /> <param name="system.include.pattern" value="**/*" spec="text description='Ant-like include pattern for files in source directory' display='normal' label='Include pattern:' validationMode='not_empty'" /> <param name="system.exclude.pattern" value="" spec="text description='Ant-like exclude pattern for files in source directory' display='normal' label='Exclude pattern:' validationMode='any'" /> <param name="system.dest.dir" value="" spec="text description='Directory on FTP server where to put files (if empty - default directory for given username will be used)' display='normal' label='Destination directory:' validationMode='any'" /> <param name="system.clean.dest.dir" value="false" spec="checkbox checkedValue='true' description='Enable if destination directory must be cleaned before uploading files' display='normal' label='Clean destination directory:' uncheckedValue='false'" /> </parameters> <build-runners> <runner id="RUNNER_24" name="" type="Ant"> <parameters> <param name="build-file"><![CDATA[<project name="FTP upload"> <taskdef name="ftp" classname="org.apache.tools.ant.taskdefs.optional.net.FTP"/> <property name="temp" value="${teamcity.build.tempDir}/ftpTemp"/> <condition property="dest.dir.set"> <matches pattern=".+" string="${dest.dir}"/> </condition> <condition property="clean.dest.dir.set"> <matches pattern="true" string="${clean.dest.dir}"/> </condition> <target name="prepare-ftp"> <mkdir dir="${temp}"/> </target> <target name="put-files" depends="prepare-ftp, clean-remote-dir, create-remote-dir"> <ftp server="${ftp.server}" port="${ftp.port}" userid="${ftp.user}" password="${ftp.password}" remotedir="${dest.dir}" verbose="true"> <fileset dir="${src.dir}"> <include name="${include.pattern}"/> <exclude name="${exclude.pattern}"/> </fileset> </ftp> </target> <target name="create-remote-dir" if="dest.dir.set"> <ftp action="mkdir" server="${ftp.server}" port="${ftp.port}" userid="${ftp.user}" password="${ftp.password}" remotedir="${dest.dir}"> </ftp> </target> <target name="clean-remote-dir" if="clean.dest.dir.set"> <ftp action="del" server="${ftp.server}" port="${ftp.port}" userid="${ftp.user}" password="${ftp.password}" remotedir="${dest.dir}"> <fileset> <include name="**/*"/> </fileset> </ftp> </target> </project>]]></param> <param name="build-file-path" value="build.xml" /> <param name="target" value="put-files" /> <param name="runnerArgs" value="-lib &quot;%teamcity.tool.ant-net-tasks%&quot;" /> <param name="teamcity.coverage.emma.include.source" value="true" /> <param name="teamcity.coverage.emma.instr.parameters" value="-ix -*Test*" /> <param name="teamcity.coverage.idea.includePatterns" value="*" /> <param name="teamcity.step.mode" value="default" /> <param name="use-custom-build-file" value="true" /> </parameters> </runner> </build-runners> <vcs-settings checkout-mode="ON_SERVER" labeling-type="NONE" labeling-pattern="build-%system.build.number%" /> <requirements /> <build-triggers /> <cleanup /> </settings> </build-type>