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


<dsl-extension kind="buildStep" type="dotnet" generateDslJar="true" applicable="params['command'] == 'custom'">
    <class name="DotnetCustomStep">
        <description>
            A [dotnet build step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run a custom command
        </description>
    </class>
    <function name="dotnetCustom">
        <description>
            Adds a [dotnet build step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run a custom command
            @see DotnetCustomStep
        </description>
    </function>
    <init>
        <param name="command" value="custom"/>
    </init>
    <params>
        <param name="paths" dslName="executables">
            <description>Specify paths Specify paths to executable files. Wildcards are supported.</description>
        </param>
        <param name="teamcity.build.workingDir" dslName="workingDir" yamlName="working-directory">
            <description>
                [Working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) for
                executables,
                specify it if it is different from the [checkout
                directory](https://www.jetbrains.com/help/teamcity/?Build+Checkout+Directory).
            </description>
        </param>
        <param name="args">
            <description>Enter additional command line parameters for custom command.</description>
        </param>
        <param name="required.sdk" dslName="sdk">
            <description>.NET SDK versions separated by semicolon to be required on agents.</description>
        </param>
    </params>
    <examples>
        <example>
            <description>
                Runs [`dotnet EXECUTABLE`](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet#options-for-running-an-application) to run specified .NET application
            </description>
            <code>
                dotnetCustom {
                    executables = "MyProgram.exe"
                    args = "abc=123"
                }
            </code>
        </example>
    </examples>
</dsl-extension>