uigen.exe project


Until 2009-07 the uigen.exe project was part of
the re-motion project at https://svn.re-motion.org/svn/Remotion/trunk.
In 2009-07 the uigen.exe project has been moved to

The project name of uigen.exe thus is
Remotion.ObjectBinding.Web.CodeGenerator, renamed from the shorter

not all paths/names in the wiki were updated

If you look for pages related to Remotion.ObjectBinding.Web.CodeGenerator
you might miss interesting pages. Make sure you search for
Web.CodeGenerator instead.

As you might infer, the terms "Web.CodeGenerator" and "uigen.exe"
are more or less synonymous. Here we use "uigen.exe" when talking
about the code generator from the user's perspective. We use
"Web.CodeGenerator" when talking about the code generator from
the maintainer's perspective.

Directories and components

In the project's top level (trunk) directory you will find these
files and directories:

  • build
    By convention, this is where the build result is stored.
  • Core
    By convention, this is the meat of the project's source code;
    in this case, uigen.exe.
  • lib
    By convention, this is a copy of the version of re-motion that
    is compatible with the version of uigen.exe. It must always
    be the same as the one the PhoneBook web application uses (where the
    same copy is stored in the PhoneBook directory's Remotion
  • Templates
    This is a local template tree and considered the "master" template
    tree where all other copies eventually come from. To learn more
    about those copies and how they are used by the maintainer of
    the uigen.exe project, read
    Duplicate directories (trees) and master directories
    This directory must be identical with the template directory in
  • build.cmd
    Builds uigen.exe by invoking the NAnt build uigen.build,
    which in turn calls the Remotion.ObjectBinding.Web.CodeGenerator.build
    file located in the Core sub-directory (see above). The build
    does not only compile the source code, it does also
    • copy the Templates directory to the build directory
    • copy the lib directory to the build directory
    • zips the build results in the build directory (see next item: uigen.zip
  • uigen.zip
    This file contains the build results (without source code) in one
    convenient package.
See also

re-motion contrib repository