dotnet/MRPP_DOTNET_ConnectionString.xml (48 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8"?>
<meta-runner name=".NET - Update connection string">
<description>Update connection string. Note the connection string must be defined in the configuration file.</description>
<settings>
<parameters>
<param name="system.config.file" value="" spec="text description='Confguration file in which the connection string should be updated' display='normal' label='Configuration file' validationMode='not_empty'" />
<param name="system.connectionstring.name" value="" spec="text description='Key of the connection string to update' display='normal' label='Connection string key' validationMode='not_empty'" />
<param name="system.connectionstring.value" value="" spec="text description='The new connection string value' display='normal' label='Connection string value' validationMode='not_empty'" />
</parameters>
<build-runners>
<runner name="Connection strings" type="Ant">
<parameters>
<param name="build-file"><project name="Update connection strings">
<target name="update-config-file">
<echo message="Updating connection string ${connectionstring.name} in ${config.file}..." />
<tempfile property="temp.config.file" />
<copy file="${config.file}" tofile="${temp.config.file}"/>
<xslt in="${temp.config.file}" out="${config.file}">
<style>
<string><![CDATA[<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/configuration/connectionStrings/add[@name='${connectionstring.name}']/@connectionString">
<xsl:attribute name='connectionString'>${connectionstring.value}</xsl:attribute>
</xsl:template>
</xsl:stylesheet>]]></string>
</style>
</xslt>
<echo message="Updated connection string ${connectionstring.name} in ${config.file}." />
</target>
</project></param>
<param name="build-file-path" value="build.xml" />
<param name="target" value="update-config-file" />
<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>
<requirements />
</settings>
</meta-runner>