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 "%teamcity.tool.ant-net-tasks%"" />
<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>