dev@woodstock.java.net

Supporting facelets

From: Gregory Murphy <Gregory.Murphy_at_Sun.COM>
Date: Sun, 11 Mar 2007 08:18:14 -0700

To fix Issue #3, which asks that we support generating code that works
with Facelets, I am proposing a custom generator factory.

Attached is a new NetBeans project, which builds a generator factory
suitable for passing to the annotations processor. This generator
factory extends the default factory, but returns a special
implementation of TagLibFileGenerator, which will generate a taglib file
that meets the requirements of Facelets. All other files are generated
as before.

To try it out: unzip the project ./annotations, build, and copy the
library into ./webui/annotations/lib. Then modify the webui build file:
add a library definition for the new library:


    <path id="annotation-processor.jars">
        ....
        <pathelement location="${lib.annotations}/facelets-factory.jar"/>
        ....
    </path>

And then pass the new generator factory as an argument to the annotation
processor:

        <exec executable="${apt.home}/bin/apt">
            ....
            <arg value="-A
generatorfactory=com.sun.faces.mirror.generator.FaceletsGeneratorFactory"/>
            ....
        </exec>

If the generator is an acceptable solution, we still need to decide how
to support building facelets, e.g. via an alternate build task or a an
alternate build file.

// Gregory