Hi,
I'm trying to setup SVN repository for huge amount of code managed
by Maven software project management. We have hierarchical multi-layer
directory layout, The tree below describe our structure.
|--- Project
|---- pom.xml (Maven project descriptor)
|---- component 1 (A leaf componet)
|---- pom.xml
|---- src
|---- component 2 (A container component or sub-project)
|---- pom.xml
|---- comp2-sub1 (A container component or sub-project)
|---- pom.xml
|---- comp2-sub1-sub
|---- pom.xml
|---- src
We need to have a development line for each component. After reading
the SVN book and googling, I'm trying to apply the SVN recommended
layout trunk, tags and branches to our structure, I will apply it to
the folders contains source code or the leaf componenets so it will be
like below.
|--- Project
|---- pom.xml (Maven project descriptor)
|---- component 1 (A leaf componet)
|---- branches/
|---- tags/
|---- trunk/
|---- pom.xml
|---- src
|---- component 2 (A container component or sub-project)
|---- pom.xml
|---- comp2-sub1 (A container component or sub-project)
|---- pom.xml
|---- comp2-sub1-sub
|---- branches/
|---- tags/
|---- trunk/
|---- pom.xml
|---- src
But i still have some question i can't find answer for it:
- In the non-leaf components each one of em, contains POM file which
contains a valuable information for the children projects and the
build system. This file in this structure has no branches or tags just
a general trunk line, What about the release process which require a
copy from this file be frozen?
- How can i make a general checkout process to compile the code from
source. The checkout will fetch the trunks and tags which will make
the build process fails, Do i have to create a separated folder and
use svn:externals to make acceptable build structure as a special case
for this process?
There is another methodology to create a flat structure for all the
system components and use the idea of svn:externals to link em all as
described below.
|--- REPO
|---- comp1.sub.component1
|---- comp2.sub2.component1
|---- branches/
|---- tags/
|---- trunk/
|---- pom.xml
|---- src
|---- project ()
|---- pom.xml (Maven project descriptor)
|---- component 1 (external link to REPO/comp2.sub2.component1/trunk)
In this case the problem of the container componet POM file still exist :(
Is there any recommendation or best practices for the above structure
or Maven layout.
Thanks in advance
Regards,
Mina R Waheeb
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-07-29 18:52:40 CEST