kotlin-script-runner-server/kotlin-dsl/KotlinScriptCustom.xml (109 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <dsl-extension kind="buildStep" type="kotlinScript" generateDslJar="true" applicable="params['scriptType'] == 'customScript'"> <class name="KotlinScriptCustomBuildStep"> <description> A build step running a Kotlin script with the specified content </description> </class> <function name="kotlinScript"> <description> Adds a build step running a Kotlin script with the specified content @see KotlinCustomScriptBuildStep </description> </function> <init> <param name="scriptType" value="customScript"/> </init> <params> <param name="teamcity.build.workingDir" dslName="workingDir"> <description> [Build working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) for the script, specify it if it is different from the [checkout directory](https://www.jetbrains.com/help/teamcity/?Build+Checkout+Directory). </description> </param> <param name="scriptContent" dslName="content" mandatory="true"> <description> Content of the script to run </description> </param> <param name="kotlinPath" dslName="compiler"> <description> Path to Kotlin compiler </description> </param> <param name="kotlinArgs" dslName="arguments"> <description> Space-separated list of additional arguments for Kotlin script </description> </param> <param name="target.jdk.home" dslName="jdkHome"> <description> Custom [JDK](https://www.jetbrains.com/help/teamcity/?Predefined+Build+Parameters#PredefinedBuildParameters-DefiningJava-relatedEnvironmentVariables) to use. The default is JAVA_HOME environment variable or the agent's own Java. </description> </param> <param name="jvmArgs"> <description> Space-separated list of additional arguments for JVM </description> </param> </params> <examples> <example> <description> Adds a Kotlin script build step with [default Kotlin compiler](https://www.jetbrains.com/help/teamcity/?Kotlin+Script#Prerequisites) and default JVM. </description> <code> kotlinScript { name = "My Kotlin Script step" content = """ // Koltin script content println("Hello, World") """.trimIndent() } </code> </example> <example> <description> Adds a Kotlin script build step with [bundled Kotlin compiler](https://www.jetbrains.com/help/teamcity/?Kotlin+Script#Prerequisites) and custom JDK is set to the [environment variable](https://www.jetbrains.com/help/teamcity/?Using+Build+Parameters) value with additional parameter. Additional agruments are passed to the Kotlin script with a reference to the [configuration parameter](https://www.jetbrains.com/help/teamcity/?Using+Build+Parameters) value. Custom [working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) is provided. </description> <code> kotlinScript { name = "My Kotlin Script step" workingDir = "data/" content = """ // Koltin script content println("Hello, World") """.trimIndent() compiler = "%teamcity.tool.kotlin.compiler.bundled%" arguments = "%myscript.params%" jdkHome = "%env.JDK_15_0%" jvmArgs = "-Xmx2048m" } </code> </example> <example> <description> Adds a Kotlin script build step with custom Kotlin compiler and custom JDK with additional parameter. Custom [working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) is provided. </description> <code> kotlinScript { name = "My Kotlin Script step" workingDir = "data/" content = """ // Koltin script content println("Hello, World") """.trimIndent() compiler = "path/to/kotlin/compiler" jdkHome = "path/to/jdk" jvmArgs = "-Xmx2048m" } </code> </example> </examples> </dsl-extension>