Now that I have your attention 🙂

I am happy to announce the initial release of
SGen
, a framework that makes it easy to create tools that parse annotations
and generate files.  Some of the goals for SGen are:

  • Modules can be developed separately and shipped in individual jar files. 
    All they need to do is contain at least one SGen module (which is achieved
    by implementing a certain interface).  For example, you can download
    ejbgen.jar, drop it in your "modules" directory, point SGenRunner to it and
    voila, you have added a new generator to your arsenal.
     
  • SGen is annotation-neutral.  It supports both Javadoc and JSR 175
    style annotations.  The way the annotations are collected is made
    transparent to your module through an open-source abstraction layer called
    JAM.
     
  • SGen doesn’t mandate any template technology.  You are free to use
    Velocity or println if that’s what you want.
     
  • SGen is XML-free.  That’s right, baby, you won’t have to write a
    single line of XML to use it.

Since the question is most likely going to come up, I don’t see SGen as a
direct competitor to XDoclet, although they achieve similar goals.  The
idea is that if you wrote an XDoclet module, you should be able to factor out
all the "business logic" of your generators and make an SGen module out of it. 
Then your module can be downloaded by your users and mixed with the other SGen
modules they use.

For more details, examples, architecture overview and JavaDoc, please take a
look at the SGen home page.

SGen is certainly in alpha stage at this point and as you can see at the
bottom of the documentation, more features are coming up, but since the current
version works fine for the very demanding EJBGen (which is now an SGen module),
I think it is in a good-enough shape for early adopters.

All questions about SGen should go to the
SGen mailing-list.