uigen.exe project
History
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
https://svn.re-motion.org/svn/Remotion-Contrib/Remotion.ObjectBinding.Web.CodeGenerator.
The project name of uigen.exe thus is
Remotion.ObjectBinding.Web.CodeGenerator, renamed from the shorter
Web.CodeGenerator.
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 ofuigen.exe. It must always
be the same as the one the PhoneBook web application uses (where the
same copy is stored in thePhoneBookdirectory'sRemotion
sub-directory).
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
theuigen.exeproject, read
Duplicate directories (trees) and master directories
This directory must be identical with the template directory in
PhoneBook\Remotion\UIGenTemplates.
build.cmd
Buildsuigen.exeby invoking the NAnt builduigen.build,
which in turn calls theRemotion.ObjectBinding.Web.CodeGenerator.build
file located in theCoresub-directory (see above). The build
does not only compile the source code, it does alsocopy the
Templatesdirectory to thebuilddirectorycopy the
libdirectory to thebuilddirectoryzips the build results in the
builddirectory (see next item:uigen.zip
uigen.zip
This file contains the build results (without source code) in one
convenient package.