Project DescriptionVariable Substitution Utility for Configuration Management (FinalBuilder etc)
More InfoA small utility for configuration management that takes an input file, a “substitute” file to be processed and a series of “sections” to use to perform the replacement. Created as a replacement for the "built in" variable substitution options in
FinalBuilder.
So for example, if you had the following INI file:
[MAIN]
SVNServer=MySvnServer
SVNPort=80
[INT]
Server=IntServer
Username=IntUser
Password=Password
[SYS]
Server=SysServer
Username=SysUser
Password=Password
And a “substitute” file as follows (this obviously isn’t a configuration file, it’s purely a very basic sample :-) ):
Subversion Server: %SVNServer%:%SVNPort%
Server: %Server%
Details : %Username% / %Password%Running it through the utility and specifying the MAIN and INT sections (I generally use a “global” section, then configuration specific sections) would give us:
Subversion Server: MySvnServer:80
Server: IntServer
Details : IntUser / Password
It’s a very, very simple utility, and indeed very little code; but I thought it might be of use to people who might be using FinalBuilder, or even people doing “manual” configuration management. It currently only supports INI files, but adding support for other file format is just a case of creating a new VariableReader implementation and decorating it with a ReaderHandles attribute to signify what “mode” you want it to handle, everything else is wired up automatically.
Utility UsageSubstitute - Variable Substitution Utility
(http://substitute.codeplex.com)
Usage:
Substitute.exe [mode] [delimiter] [variablefile.txt] [substitutionfile.txt] [sections..] (/v)
[mode] - Mode to use (ini)
[delimiter] - Variable delimiter (e.g. % would replace %VARIABLE%)
[variablefile.txt] - File containing variables for substituting
[substitutionfile.txt] - File to have it's contents substituted (%VARIABLENAME% syntax)
[sections..] - List of sections in the variable file to use
(/v) - (optional) Verbose output