Hi Sean,

thanks for cross posting this stuff to the correct thread :-)

On Jan 5, 2006, at 1:43 PM, Sean Schofield wrote:

@Bill: moving a snip of your comments to this thread ...

I'd like to see something like this;

myfaces/pom.xml
myfaces/api/pom.xml
myfaces/commons/pom.xml
myfaces/examples/pom.xml
myfaces/impl/pom.xml
myfaces/sandbox/pom.xml
myfaces/tomahawk/pom.xml

Is the point of the very top level POM for stuff that is common to
100% of the modules (like mailing list, jira, contributor lists, etc)?


Yes its to have all the common stuff in one place so you don't have to change it over and over in all the modules.

Dependency versions is another big win IMO with a parent pom.

Why not combine api and impl in their own "core" module?  IMO there is
no point in ever releasing those separately.  Both constitute a  JSF
implementation.

Agreed, good point.


One advantage to sandbox within tomahawk is we can cut down on the
number of top level modules.  Just throw the sandbox stuff into
sandbox.jar and provide its own api docs.  That stuff goes into the
release bundle along with tomahawk.jar and we say "sandbox stuff is
untested and subject too change or elimination."


+1 on combining sandbox and tomahawk. Are you thinking of making tomahawk a mid level module that has 2 submodules?

myfaces/tomahawk/pom.xml => packaging = pom
myfaces/tomahawk/tomahawk
myfaces/tomahawk/sandbox

This is fine as it reduces the top level clutter. If you want to have two products from a single module I'm not sure but I think it will present problems from maven.

I also think that the examples should go in tomahawk.  They are
basically examples of tomahawk in action and any time you add a new
tomahawk component (or a significant feature to an existing component)
you will want to update the examples.  Also, I envision linking the
tomahwk documentation to the examples on the website (now that we have
our zone.)  So I think the examples are tightly coupled to
tomahawk/sandbox.


Agreed with this too, so we'd have something like this if I'm understanding correctly;

myfaces/pom.xml => packaging = pom modules = (core, commons, tomahawk)
myfaces/core/pom.xml => packaging = pom modules = (impl, api)
myfaces/core/api/pom.xml => packaging = jar
myfaces/core/impl/pom.xml  => packaging = jar
myfaces/commons/pom.xml  => packaging = jar
myfaces/tomahawk/pom.xml => packaging = pom modules = (tomahawk, sandbox, examples)
myfaces/tomahawk/tomahawk/pom.xml => packaging = jar
myfaces/tomahawk/sandbox/pom.xml => packaging = jar
myfaces/tomahawk/examples/pom.xml => packaging = war

This looks very good and much simpler, no externals etc. easy to branch, tag etc.

We also need the publish thing to have an assembly as we have now, although I've had less experience with making assemblies we have on my other project the ability to do an 'mvn release' (or something like that I'll have to look) and have the whole assembly pushed out to the download site. I'll have to look at how we made that work, its great stuff!

TTFN,

-bd-

Reply via email to