I would like to propose the following refactoring of the tomahawk
project under myfaces
Current structure under tomahawk:
trunk/
assembly (for building releases)
core (tomahawk "core")
examples (examples for the core project)
sandbox (sandbox)
sandbox15 (Sandbox with JDK 1.5 dependency)
pom.xml
Proposed change:
trunk/
core/
assembly/
tomahawk-build/
tomahawk-api/
tomahawk-impl/
tomahawk-facelets/
sandbox/
assembly/
sandbox-build/
sandbox-api/
sandbox-impl/
sandbox-facelets/
branches/
jsf-1.2/
current/
core/
assembly/
tomahawk-build/
tomahawk-api/
tomahawk-impl/
tomahawk-facelets/
sandbox/
assembly/
sandbox-build/
sandbox-api/
sandbox-impl/
sandbox-facelets/
(Releases here - ex 1.1.7)
jdk-1.5/
current/
core/
assembly/
tomahawk-build/
tomahawk-api/
tomahawk-impl/
tomahawk-facelets/
sandbox/
assembly/
sandbox-build/
sandbox-api/
sandbox-impl/
sandbox-facelets/
(Releases here - ex 1.1.7)
jsf-2.0 (future)/
Along with this change will be migration to use the maven faces
plug-in for component generation. This will facilitate the inclusion
of facelets support. The plug-in would be based on the current myfaces
generator that is being used for myfaces core 1.2 and re-factored to
use 1.1. The jsf-1.2 branch can use the existing files, with possible
modifications as required.
The sandbox15 becomes a separate release of the sandbox with 1.5 code
added. I see this being much more flexible than a separate jar. This
way tomahawk core classes can be made to support JDK 1.5 as desired.
Question: is the branch for JDK 1.5 on JSF 1.1 required, or should the
JSF 1.2 branch be used for this code instead?
I don't have a whole lot of time, but I am willing to put some work in
to help split the projects out and setup the maven plug-in part. Other
help would be needed.
If people agree, I see this as a phased approach:
1) Create a new branch under tomahawk to house the work in progress.
2) Modify the myfaces code in the maven-faces-plugin to support JSF
1.1 (configuration support is already there, the plug-in just doesn't
use it)
3) Setup the tomahawk-build core project xml files
4) create an SVN tag as the branch point
5) starting moving core over
6) repeat 3-5 for the sandbox
7) repeat 3-5 for a jsf-1.2 branch and optionally the jdk-1.5 branch.
8) (in parallel to 1-7): update the framework for nightly builds, and
any changes to the "system" that would need to be made for these
changes.
Opinions?
-Andrew