<?xml version="1.0" encoding="UTF-8"?>




<dsl-extension kind="buildStep" type="smb-deploy-runner" generateDslJar="true">
    <class name="SMBUpload">
        <description>
            An SMB Upload build step.
        </description>
    </class>
    <function name="smbUpload">
        <description>
            Adds an SMB Upload build step.
            @see SMBUpload
        </description>
    </function>
    <params>
        <param name="jetbrains.buildServer.deployer.targetUrl" dslName="targetUrl" mandatory="true">
            <description>
                Target path in form \\host\share[\subdir].
            </description>
        </param>

        <param name="jetbrains.buildServer.deployer.smb.dns_only" dslName="dnsOnly" type="boolean" trueValue="true" falseValue="">
            <description>
                The DNS only name resolution allows switching JCIFS to "DNS-only" mode.
                May fix performance or out of memory exceptions.
            </description>
        </param>

        <param name="jetbrains.buildServer.deployer.username" dslName="username">
            Username. "domain\username" format is supported
        </param>

        <param name="secure:jetbrains.buildServer.deployer.password" dslName="password"/>

        <param name="jetbrains.buildServer.deployer.sourcePath" dslName="sourcePath" mandatory="true">
            <description>
                Newline- or comma-separated paths to files/directories to be deployed.
                Ant-style wildcards like dir/**/*.zip and target directories like
                *.zip => winFiles,unix/distro.tgz => linuxFiles,
                where winFiles and linuxFiles are target directories, are supported.
            </description>
        </param>
    </params>

    <examples>
        <example>
            <description>
                Adds an SMB Upload build step with
                DNS only name resolution option enabled.
            </description>
            <code>
                smbUpload {
                    name = "My SMB Upload build step"
                    targetUrl = """\\host\share[\subdir]"""
                    dnsOnly = true
                    username = """domain\username"""
                    password = "credentialsJSON:******"
                    sourcePath = """
                        dir/**/*.zip
                        *.zip => winFiles
                        unix/distro.tgz => linuxFiles
                    """.trimIndent()
                }
            </code>
        </example>
    </examples>
</dsl-extension>