MSS Code Factory 2.11: Mark Stephen Sobkow's Code Factory   

Prev Documentation Home Next

Manufacturing a Project

There is a simple .bash script named CFManufactureCode211.bash that runs MSS Code Factory 2.11 to produce 2.12 code.

It takes two or three arguments, with the first two being required.

The first argument is the name of the model, without the trailing .xml file type specification.

The second argument is the name of the rule cartridge to use for producing the project's code. There are a number of rule cartridges provided with MSS Code Factory.

The third optional argument specifies a specific toolset to produce code for, allowing you to focus on debugging a rule set producing code for a particular language and tool combination. Most databases have their own scripting languages.

I recommend using one of the Manufacture*.bash scripts for the 2.12 projects as a template for your own manufacturing script for your project. If nothing else, it will save on error-prone typing of picky computer commands.

Going forward, only CFSec, CFInt, and CFBam 2.12 will be manufactured with the com-github-msobkow-211-layered+msscf cartridge. The remaining 2.12 projects will be manufactured with com-github-msobkow-211-layered, which does not produce MssCF libraries for Java and C++. The overhead of building those libraries is far from trivial.

Only CFCore uses the com-github-msobkow-211-cfengine cartridge. It produces standalone code for an in-memory object repository, suitable for doing things like creating complex data editors for XML files, GUI editors for XML files, and transposing XML documents, but it always produces code for the cfcore namespace when it does so, so only one library produced by the cfengine cartridge can be incorporated into any given code base.

If you want to provide msscf library support for your project for something like a reporting engine, you can do so by simply creating a custom cartridge from one of the existing ones that uses the others and specifying the msscf tool, toolsets, and rule sets similar to the way com-github-msobkow-211-layered+msscf does.

The currently available rule cartridges are: