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