j(:->)et another Code Generator

jaCG is as it says jet another code generator. I know it should be "yet" not "jet" but there are three reasons for this. It says all about my english (i am a german developer), it is written in java and this way it shares the same starting letter and there are so many project with ya...

The history of jaCG starts in 2000 and in 2009 i made this release. During this release i used jaCG in many projects and it grows up. I think it could be useful in your project to. The main reason for still using jaCG while there are so many other code generator frameworks is: Because it is very simple to use (at least for me :-) Nevertheless it has all features you may need:

Feature-List

  • It has an extendable meta model
  • The model itself is in XML. (NOT XMI!) Write your own tools to convert a UML-Model into the XML-Format. (A plugin for MagicDraw will come soon)
  • Split the model into parts and generate only the parts for your project. This feature makes it possible to build project families sharing a base model.
  • Configuration of the generator process
  • Transformations to modify the model before generation starts.
  • Transformations are written in Java. Most Java-IDEs support this language
  • Constraints for Model-Checks.
  • Constraints are written in Java. Most Java-IDEs....
  • Templates for code generation.
  • Templates are written in Java. Most...
  • Cartridges to group generation steps (Transformation, Templates) with no side effects.
  • It runs with java1.4 (You can also use Java5 and a Java5-MetaModell)

For questions please look at http://jacg.sourceforge.net

Examples and LiftOf

There are several examples to demonstrate the use of jaCG. Go to the example folder and start ant with argument example-N to start the example-N. Read the REAMDE.TXTs in the examples folder.