Robert posted an
interesting write-up comparing XDoclet and SGen.  I’d
like to correct two errors he made (Robert, I tried to find an email address for
you but couldn’t…).

  1. XDoclet didn’t start as EJBGen.  I don’t remember what Rickard’s
    original name was, but it wasn’t EJBGen.  I came up with EJBGen on my
    own, and the two tools have absolutely nothing in common.
  2. In his presentation, Robert writes about SGen:

    Designed to replace XDoclet use within BEA

    We don’t use XDoclet at all inside BEA.  We have our own
    engine and parser (based on a Java compiler called Javelin), so SGen was
    certainly not created to replace XDoclet internally.

Finally, I haven’t studied XDoclet 2 at all so I can’t comment on the
similarities that Robert sees between SGen and XDoclet 2.  SGen is simply
what EJBGen has been using for a long time internally and recent requests from
users to make EJBGen extensible prompted me to factor out the annotation part
from EJBGen.  Thus SGen was born.

Robert, feel free to email me if you have specific questions or suggestions
for SGen, I’ll gladly help.