Hi,
I have just committed the changes needed in the myfaces branch to start writing the XMLs to autogenerate the components with the awesome maven-faces-plugin (which comes from the trinidad project). I have done some basic modifications to that plugin [1] to be able to generate myfaces code (compliant to the spec), so it can generate all the api components, and also the tag classes. The plugin needs still work to generate the convertee and validator tag classes, but it is usuable (I think) to start writing the XMLs for the components). When the converter/validator tag generators are implemented, the plugin should be merged with the one in the trinidad faces-1_2 branch and then we should decide the way to put this plugin somewhere, available to myfaces
1.2. Now it is using a version that I have in my repository in people.apache.org, so it is possible to do myfaces 1.2 using this plugin.
Generate the new components is as *simple* as writing the XMLs defining the components. The UIComponent has been already implemented and now it is autogenerated. A good thing about this plugin, is that you can merge an existing template (a class) with the code autogenerated by the plugin, so you can include specific component/tag behaviour. For the UICommand see the UICommandTemplate in core/api/src/main/java_templates.
A new module has been created, called myfaces-build, which contains all the XMLs. The core modules (api and impl) uses the plugin now. In api, to generate the components, and in impl to create the faces-config.xml
file, the tags and the taglib. To do the different tasks, different goals from the maven-faces-plugin are called. A good thing about this plugin too, is that it will allow to create a taglib file for facelets automatically.
Now it is the time to write good XMLs for the components, with its properties well-documented, so we have a more comprehensive source code for faces 1.2.
Eventually, this plugin could be used to generate the tomahawk library and the api components for myfaces
1.1. Extending the plugin is straight-forward.
Cheers,
Bruno
[1] https://svn.apache.org/repos/asf/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin
- [Faces 1.2] - Prepared layout for component autogenera... Bruno Aranda
- Re: [Faces 1.2] - Prepared layout for component a... Matthias Wessendorf
- Re: [Faces 1.2] - Prepared layout for compone... Bruno Aranda
- Re: [Faces 1.2] - Prepared layout for component a... Werner Punz
- Re: [Faces 1.2] - Prepared layout for compone... Matthias Wessendorf
- Re: [Faces 1.2] - Prepared layout for com... Werner Punz
