kotlin-dsl/RubyEnvConfigurator.xml (191 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <dsl-extension kind="buildFeature" type="ruby.env.configurator" generateDslJar="true"> <class name="RubyEnvConfigurator"> <description> A [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature passes Ruby interpreter to all build steps. </description> </class> <function name="rubyEnvConfigurator"> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature passes Ruby interpreter to all build steps. @see RubyEnvConfigurator </description> </function> <params> <param name="ui.ruby.configurator.use.rvm" dslName="method" type="compound" mandatory="true"> <description> Ruby Environment Configurator method. </description> <option name="rubyInterpreter" value=""> <param name="ui.ruby.configurator.ruby.interpreter.path" dslName="path"> <description> The path to Ruby interpreter. If not specified, the interpreter will be searched in the PATH. In this field you can use values of environment and system variables. </description> </param> </option> <option name="interpreterAndGemset" value="manual" > <param name="ui.ruby.configurator.rvm.sdk.name" dslName="interpreter" mandatory="true"> <description> E.g.: 'ruby-1.8.7-p249', 'jruby-1.4.0' or 'system'. </description> </param> <param name="ui.ruby.configurator.rvm.gemset.name" dslName="gemset"> <description> Leave empty to use default gemset. </description> </param> <param name="ui.ruby.configurator.rvm.gemset.create.if.non.exists" dslName="createGemsetIfNotExists" type="boolean" trueValue="true" falseValue=""> <description> Create gemset if not exists. </description> </param> <param name="ui.ruby.configurator.rvm.path" dslName="requireRVM" type="boolean" trueValue="%env.rvm_path%" falseValue=""/> </option> <option name="rvmrc" value="rvmrc"> <param name="ui.ruby.configurator.rvm.rvmrc.path" dslName="path"> <description> Specify here the path to a .rvmrc file relative to the checkout directory. If the file is specified, TeamCity will fetch environment variables using the rvm-shell and will pass it to all build steps. </description> </param> <param name="ui.ruby.configurator.rvm.path" dslName="requireRVM" type="boolean" trueValue="%env.rvm_path%" falseValue=""/> </option> <option name="rvmConfigDirectory" value="rvm_ruby_version"> <param name="ui.ruby.configurator.rvm.ruby_version.path" dslName="path"> <description> Path to a directory with '.ruby-version' and '.ruby-gemset' files relative to a checkout directory . Leave empty to use checkout directory. </description> </param> <param name="ui.ruby.configurator.rvm.path" dslName="requireRVM" type="boolean" trueValue="%env.rvm_path%" falseValue=""/> </option> <option name="rbenv" value="rbenv"> <param name="ui.ruby.configurator.rbenv.version.name" dslName="interpreterVersion"> <description> E.g.: '1.9.3-p286' or 'jruby-1.7.0' </description> </param> <param name="ui.ruby.configurator.rbenv.root.path" dslName="requireRbenv" type="boolean" trueValue="%env.RBENV_ROOT%" falseValue=""/> </option> <option name="rbenvConfigDirectory" value="rbenv_file"> <param name="ui.ruby.configurator.rbenv.file.path" dslName="path"> <description> Path to a directory with '.ruby-version' or '.rbenv-version' file relative to a checkout directory. Leave empty to use ".ruby-version"(preferred) or ".rbenv-version" </description> </param> <param name="ui.ruby.configurator.rbenv.root.path" dslName="requireRbenv" type="boolean" trueValue="%env.RBENV_ROOT%" falseValue=""/> </option> </param> <param name="ui.ruby.configurator.fail.build.if.interpreter.not.found" dslName="failIfInterpreterNotFound" type="boolean" trueValue="true" falseValue=""> <description> Whether fail a build if the Ruby environment configurator cannot pass the Ruby interpreter to the step execution environment because the interpreter wasn't found on the agent. </description> </param> </params> <examples> <example> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature with specified Ruby interpreter path with a reference to a [configuration parameter](https://www.jetbrains.com/help/teamcity/?Using+Build+Parameters). </description> <code> rubyEnvConfigurator { method = rubyInterpreter { path = "%path.to.inverpreter%" } } </code> </example> <example> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature with specified RVM interpreter. </description> <code> rubyEnvConfigurator { method = interpreterAndGemset { interpreter = "jruby-1.4.0" gemset = "gemset" requireRVM = true } } </code> </example> <example> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature with specified RVM with `.rvmrc` file. </description> <code> rubyEnvConfigurator { method = rvmrc { path = "rubyProject/.rvmrc" requireRVM = true } } </code> </example> <example> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature with specified RVM with `.rvmrc` file and a path to a directory with `.ruby-version` or `.rbenv-version` file relative to a checkout directory. </description> <code> rubyEnvConfigurator { method = rvmConfigDirectory { path = "rubyProject" requireRVM = true } } </code> </example> <example> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature with specified rbenv. </description> <code> rubyEnvConfigurator { method = rbenv { interpreterVersion = "jruby-1.7.0" requireRbenv = true } failIfInterpreterNotFound = false } </code> </example> <example> <description> Adds a [Ruby Environment Configurator](https://www.jetbrains.com/help/teamcity/?Ruby+Environment+Configurator) build feature with specified rbenv configuration directory and a path to a directory with `.ruby-version` or `.rbenv-version` file relative to a checkout directory. </description> <code> rubyEnvConfigurator { method = rbenvConfigDirectory { path = "rubyProject" requireRbenv = true } } </code> </example> </examples> </dsl-extension>