On 1/5/06, Bernd Bohmann <[EMAIL PROTECTED]> wrote:
> Here is a more detail description of my thoughts
>
> If myfaces is a project without separate release cycle, a possible svn
> structure:
>
> myfaces/trunk/api
> myfaces/trunk/impl
> myfaces/trunk/commons
> myfaces/trunk/tomahawk
> myfaces/trunk/sandbox
> myfaces/trunk/examples or the examples belongs to the subprojects
> myfaces/trunk/assembly or build-tool(s) with checkstyle configuration,
> assembly maven plugin...
>
> I like the parent refs in the pom.xml. I don't like the svn externals
> they are painful for branching and taging.

Can you give me the arguments for parent refs?  I still haven't heard
a good reason.  I'm not against the idea, I just don't know what they
give you (other then a common version.)  I think we can all agree that
the externals are suboptimal.  The question is what to do about  it.

> If myfaces has separate release cycles, a possible structure would be:
>
> myfaces/core/trunk/api
> myfaces/core/trunk/impl
> myfaces/core/trunk/example
> myfaces/core/trunk/assembly
>
> myfaces/commons/trunk
>
> myfaces/tomahawk/trunk
> myfaces/tomahawk/trunk/example
> myfaces/tomahawk/trunk/assembly
>
>
> myfaces/sandbox/trunk
> myfaces/sandbox/trunk/example
> myfaces/sandbox/trunk/assembly
>
> maybe a
>
> myfaces/common-examples/trunk
>
> and
>
> myfaces/[build|build-tool(s)]/trunk for checkstyle pmd maven-plugins

A good start.  Here is a revised proposal based on Bernd's original one

core
====
 myfaces/core/trunk/api
 myfaces/core/trunk/impl
 myfaces/core/trunk/assembly

commons
=======
 myfaces/commons/trunk

tomahawk
=======

 myfaces/tomahawk/trunk
 myfaces/tomahawk/trunk/example
 myfaces/tomahawk/trunk/assembly
 myfaces/sandbox/trunk
 myfaces/sandbox/trunk/example
 myfaces/sandbox/trunk/assembly

maven-tools
=========

 custom maven plugins, etc.

NOTES:

I took out the examples from core.  The examples are 99% tomahawk
related (other then the blank example which shows basic setup.)  I
think its easier to just leave examples out of core instead of having
two copies, separate examples or svn externals.

I merged sandbox and tomahawk together.  A while back we decided to
put the sandbox stuff in the tomahawk.jar.  Since the sandbox is
experimental it doesn't need its own release cycle.  Also, stuff moves
from sandbox to tomahawk so you will often update both anyways.  The
examples for tomahawk would be the current examples (minus sandbox). 
The sandbox examples would go under sandbox.

> With the second option I expect faster release cycles. This would be
> nice for a faster tobago and adf integration.

Yes faster release cycles would be good.  I suppose MyFaces commons
will be released everytime *either* the core or tomahawk stuff is
released.  There are bound to be minor changes either time.  That
still saves us the trouble of branching, testing and merging the core
stuff.

We had talked about a core project a while ago - but as an
svn:external.  I like this better.  You are correct that branching and
tagging will be much easier.

> Which a snapshot repository or a mavenized released version on a maven
> repository, it should not be a problem to checkout tomahawk only and
> compile it (indepent of the first option or the second option).

I had thought about this.  Is there a way to tell Maven "Use my local
repository if it is newer then the maven repository?"  Things could
get kind of confusing if you are using your latest commons code in the
IDE but Maven is using the last official release ...

> Best Regards
>
> Bernd

Sean

Reply via email to