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