[hibernate-dev] trunk project layout

Steve Ebersole steve at hibernate.org
Fri Sep 11 16:52:54 EDT 2009

Its not the release per-se alone.  These are not all directly related so
its hard to explain...

I outlined in the other email to max about checking out and needing to
immediately install everything.  Granted, it depends on exactly what you
want to do, but that's the basic requirement; for example, you cannot
package your application which has inter-module dependencies where one
module *includes* the dependency in itself (say and ear or war) like we
have in the tutorials for example.  

Unfortunately the full Hibernate build takes quite some time because it
also builds all the release artifacts (docs, etc) too.  Thats why I was
thinking that if I could isolate the "actual code" we would then be able
to just simply run a full install on that if needed.  Really, I think
the correct solution (maven aside) is to isolate all the release stuff
into a single place that gets executed only on (1) performing a release
or (2) performing those tasks explicitly.  Now, can that be fitted into
Maven?  dunno...

The release plugin is basically useless imo at least for our needs.
Personally I'd much rather just perform all the steps that the release
plugin does separately.  The issue here is managing the versions.

On Fri, 2009-09-11 at 14:38 +0200, Hardy Ferentschik wrote:
> Hi,
> I am just wondering if you could elaborate what exactly the problem with  
> the release.
> I think so far you are the only one who actually did a release for Core  
> using the current setup.
> Hibernate Search and Validator also use the maven release plugin and there  
> is works just fine.
> Admittedly the project structures are much simpler there.
> Since you seem most annoyed about the release plugin, couldn't we just  
> extend it or write our own?
> You already put so much work into custom maven plugins, what's the  
> difference with the release plugin?
> Picking up on Max's comment - the parent directory for the master pom is  
> really not needed anymore.
> I think pretty much all IDE can handle now a proper maven module setup.
> Last but not least, regarding your problem of building only sub modules  
>  from the command line.
> I personally build always from the top level directory. If I want to build  
> a single submodule I
> use the '--project' command line options. I also found somewhere a bash  
> completion script for maven
> (if someone is interested I can post it here) so I can just type 'mvn  
> --project' and expand the
> sub modules by using the tab key. This approach served me well in  
> Validator the last few month.
> --Hardy
> On Fri, 11 Sep 2009 07:07:40 +0200, Steve Ebersole <steve at hibernate.org>  
> wrote:
> > I am not happy with the way hibernate is built currently (see
> > http://in.relation.to/12116.lace for part of the details).
> >
> > One thing I do not like currently is the way "release related" stuff and
> > "code" are mixed.  To me, I'd really prefer that "release" be something
> > that was a separate "lifecycle" (to borrow the Maven terminology) on the
> > root project where we ran the jdocbook plugin and generally built the SF
> > release assemblies.
> >
> > Anyway, I wanted to throw the idea out there to get feedback and see
> > what suggestions folks have.
> >
Steve Ebersole <steve at hibernate.org>

More information about the hibernate-dev mailing list