maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse McConnell <jesse.mailing.li...@gmail.com>
Subject Re: Maven Recommended Directory Structure
Date Mon, 01 Aug 2005 18:49:14 GMT
certainly not my creation, wish I could take credit for it :P

it just pretty much follows the m2 project organization itself and the
rest just sort of made sense to do.

the guys on irc have been a tremendous help in our conversion process

as for the guys at sun, keep in mind that 'standard' was established a
long time ago and probably made complete sense under their build
environment of the time.  times change and tools change.  maven lends
itself to this kinda structure well because it makes subprojects so
easy to work with....something ant never really made easy, or m1 from
what I understand. :)

jesse

On 8/1/05, Michal Maczka <mmaczka@interia.pl> wrote:
> 
> Paul Faulstich wrote:
> 
> >I've been browsing through the archives looking for some documentation
> >regarding the thought process that went into the Maven directory
> >structure conventions, but haven't found much yet.
> >
> >We are restructuring one of our projects, and it would be helpful to be
> >able to explain to others (and to understand myself) why Maven's
> >recommendation differs from Sun's
> >(http://java.sun.com/blueprints/code/projectconventions.html#92194).
> >
> >In particular:
> > - directory names (target vs dist, resources vs conf)
> >
> >
> Hey!
> 
> Here is my interpretation of this structure (I participated in original
> discussion which lead to this "standard"):
> 
> target  = build in Sun's conventions
> maven has no dists folder as projects communicate via the local
> repository (or remote repositories)  so there is no need to have one
> dedicated folder where build artifacts are stored.
> 
> resource folder is for resources which will be packed inside jars - not
> for application configuration files.
> 
> you can still have
> 
> src/main/conf
> or
> src/main/etc
> 
> 
> > - the purpose of the /main folder under src (src/main/java vs src/java)
> >
> >
> 
> the idea behind it was simple - the default configurations of plugins
> should work in every case - so you should not be required to change any
> configuration file
> even if you are doing something less frequent.
> 
> 
> Note that:
> 
> a) there are almost always two source trees in maven: test and main
> (that  naturally corresponds to src/main and src/test).
> 
> 
> b) in each of those trees there can coexist  the code written in
> different programming languages - e.g:
> src/main/java
> src/main/sql
> src/main/groovy
> src/main/c (for jni)
> 
> c) you can have "conf" folder for tests (e.g.  src/test/conf).
> 
> d) test folder is simply mirroring the structure of main. imo it makes
> more sense to have:
> 
> src/main/c
> src/main/java
> src/test/c
> src/test/java
> 
> then say
> 
> src/main-c
> src/java
> src/test-c
> src/test/
> 
> 
> 
> > - placing tests under src (src/test vs test/testname/src)
> >
> >
> maven just supports one test and main source tree - so the convention test/testname/src
is not compatible with this rule.
> 
> 
> 
> note that you can still have
> src/test/java
> src/test/slimdog
> src/test/jython
> 
> and so on.
> 
> say that you are going to write your unit tests only in groovy - so you
> will put them to src/test/groovy not to src/test. If the test are
> written in Java (which is obviously the most common case) they can still
> consequently go to src/test/java so if  one day if you will decide that
> you want to add a test case written in some scripting language - you can
> easly find a place for it.
> 
> >If this is a dead horse, then please just point me to the discussions
> >that already exist.
> >
> >Thanks,
> >
> >Paul
> >
> >
> >
> regards
> 
> Michal
> 
> -----------------------------------------------------------------------
> INTERIA.PL z najlepsza wyszukiwarka... >>> http://link.interia.pl/f18a7
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 
> 


-- 
--
jesse mcconnell

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message