Automatically exported from code.google.com/p/renderconfig
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
external
source
tools
LICENSE.TXT
README.md
RenderConfig.sln

README.md

About

RenderConfig allows the definition of a set of modifications that can be used to transform (or render) a set of source files to provide tailored configuration specific to a particular instance of an application.

A typical use case for this is where your application requires a set of configuration files that identify multiple servers that provide particular application services. These application servers will differ depending on whether you are running the application in development, testing or in production.

With RenderConfig, at build time you can explicitly produce a set of configuration files that support all of these configurations, providing the ability to ship the configuration with the other build artefacts.

Features

  1. Takes a target file and copies to an output location, with the same or different filename, whilst applying a set of modifications.
  2. Allows creation of dependencies within configuration sets, ie "Development" configuration requires "Sydney" specific configuration which requires "Common".
  3. Provided as:
    1. A single assembly MSBuild plugin (MSBuild.RenderConfig.dll)
    2. A command line executable (RenderConfig.exe)
  4. Extensible (in code currently) to support many more types of configuration. Stay tuned, the list will grow.
  5. Manipulation of XML files
    1. Create/Update/Delete nodes and attributes based on XPath identification of change
    2. Works despite namespaces (ignores them...I know I know, but I just don't like them!)
    3. Keyword replacement
  6. Manipulation of INI files
    1. Create/Update/Delete keys, values and sections
    2. Keyword replacement
  7. Standard text files
    1. Keyword replacement
  8. Supports splitting of configurations into multiple files via includes
  9. Allows use of environment variables in modifications
    1. Environment variables can also be defined within a configuration

For a quick example, see here.