From MozillaWiki
Jump to: navigation, search

Warning: The content of this page is obsolete and kept for archiving purposes of past processes.

Coding Documentation
Review Policy
Outstanding Issues
Development Document

Maintained by R.J. Keller and Kieran Maclean
May 4, 2005

You may recall that in 1997, Netscape embarked on a project to rewrite Navigator/Communicator in Java. This project (code named "Xena," but sometimes referred to by the press as "Javagator") was cancelled before completion.

Grendel is the mail-news portion of the Xena project written in Java. Its goal is to be a true cross-platform application with a feature set that satisfies the poweruser.


Grendel project restarted
Grendel project has been restarted. The new Grendel will feature better toolbar icons, ant compilation, and the new wiki site!!! Feedback on what you'd like to see would be appreciated! Post any Grendel feedback to netscape.public.mozilla.mail-news or feel free to email R.J. Keller with any feedback.


Grendel was originally developed as a part of the "Javagator" project at Netscape. This project was cancelled before completion after 3 years of development. After the source for Grendel was released other people started to work toward completing it for about another 2 years. The original release was therefore incomplete.

Current state

Lots of changes were recently checked into the Grendel source tree to make it compile in a modern Java compiler. The new Grendel tree will currently require Java 1.5 to run and require a new set of libraries.

The build system is currently being redone to use Apache Ant instead of Makefiles. The easiest way to compile Grendel in its current state is to grab a copy of JCreator and create a Grendel project in the directory and compile it. A lot of test files are currently being separated out into different directories so if a certain file isn't compiling nicely, it's probably because it's a broken test file that can be deleted from your tree safely.

We're also in the process of moving Grendel from its own XML format to a Mozilla-friendly XUL format using the MozCreator Java XUL Parser API. We'd also like to contain all resources into one easy to manage resource folder instead of dumping them all over the source tree.

The Development Document gives further details on the current state and future plans.


Discussion takes place in the newsgroup netscape.public.mozilla.mail-news. This newsgroup is also gatewayed to a mailing list. More information can be found on Mozilla's Development Forum pages.

There is also a channel for Grendel developers on mozilla's IRC server [1]


To aid the development all tools are available for Grendel hackers:

  1. CVS - Grendel is a module on its own inside the mozilla CVS repository. More information is on the CVS page.
  2. LXR is a great tool to browse the source
  3. Bonsai is the tree control tool which can be used to track the changes to the tree. An interesting query is this one, which shows all checkins to Grendel during the last week.
  4. Bugzilla keeps track of all bugs in Grendel and who is working on them.

Why have Grendel when we have Thunderbird?

A primary goal with Grendel is restoring the libraries contained in the email client to full state as well as providing a working email program. Having a Java port of many of the Mozilla libraries from C++ to Java would be very valuable to many projects. The code has a lot of potential and having the Mozilla platform available for Java programmers can be a invaluable resource for Java programmers wishing to utilize email features easily. Its Java design eliminates some of the problems of a C++ design like Thunderbird. For example, Java has garbage collection and no restriction of language features in order to maintain cross-platform compatibility (like with C++ and lack of feature usage like templates for compatibility).


We need Java programmers badly! Send email to R.J. Keller if you're interested and we'll help you get set up! Contributing to Grendel can be an exciting and rewarding experience so I encourage you to contribute. It can be worthwhile.