Hi Karl,
On 7/29/08, Karl Heinz Marbaise <khmarbaise_at_gmx.de> wrote:
> Hi,
>
>
> the question you have to answer is simply:
>
> Are those leaf components used by other parent projects except the one
> you described here?
Yes, the leaf components are dependency (runtime or compile time) for
another leaf or non-leaf components.
>
>> 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 ()
> You should simply create trunk, tags and branches folders for it, cause
> it's part of your release process so you have to make tags for releases
> and branches for different development lines...
>
> put the following onto the "trunk".
>>           |---- pom.xml (Maven project descriptor)
>>           |---- component 1 (external link to
>> REPO/comp2.sub2.component1/trunk)
Yeah, I understand your point.
>>
>> 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.
>
> The other things is never use an external with "/trunk". You should use
> "/tags/XXX" instead....
What about checkout current development line for the hole project?
>
> I would suggest to use a simpler layout...
> |---Root
> |    !
> |    +--- Project
> |           +-- tags
> |           +-- branches
> |           +-- trunk
> |                 +--- pom.xml
> |                 +--- component1
> |                        +--- pom.xml
> |                 +--- component2
> |                        +--- pom.xml
> ....will be much more simpler to use....
I can't make one big trunk for all the code, because the code is
related but in the end its assembled in separated products.
The layout below explains more our code structure.
|--- Root
    |---- pom.xml (Maven global organization descriptor)
    |---- commons
         |---- component 1 (A leaf componet)
              |---- pom.xml
              |---- src
         |---- component 2 (A leaf componet)
              |---- pom.xml
              |---- src
    |---- Project A (A container for project)
         |---- pom.xml
         |---- comp2-sub1 (A container component or sub-project)
              |---- pom.xml
              |---- c2-s1-s1 (dependency on commons/componet2)
                   |---- pom.xml
                   |---- src
    |---- Project B (A container for project)
         |---- pom.xml
         |---- comp2-sub1 (A container component or sub-project)
              |---- pom.xml
              |---- comp2-sub1-sub (integration dependency on Project
A/c2-s1-s1)
                   |---- pom.xml
                   |---- src
The code is too big, I hope you get the hole picture now and thanks for reply.
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 23:35:32 CEST