[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Maven & Repository Layout

From: Mina R Waheeb <syncer_at_gmail.com>
Date: Tue, 29 Jul 2008 19:52:12 +0300

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

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.