You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by ossi petz <os...@hallo.ms> on 2007/06/13 17:56:36 UTC

best location of parent pom in multi-module builds / subversion

hallo

this might be obvious for everyone. but well - i could not find clear 
recommendations on how to do this the best way.

i have a multi-module build:

parent pom.xml
  - module-1
  - module-2
  - module-3

the modules are stored in a subversion repository:
http://repos/trunk/module-1
http://repos/trunk/module-2
http://repos/trunk/module-3

currently the parent pom is at
http://repos/trunk/pom.xml

to ease working with the parent pom in eclipse (allow working like other 
projects), i moved the parent pom into an own module: parent-module 
which is stored beside the other modules in subversion:
http://repos/trunk/module-1
http://repos/trunk/module-2
http://repos/trunk/module-3
http://repos/trunk/module-parent

but i dont want to copy the parent pom everytime to /trunk/pom.xml
and in future we may have additional parent poms for that location.

using a continous integration server and let it point to the parent pom 
seems only to work if the directory structure is normalized (parent pom 
and its modules in the same folder)


so: can the parent pom be stored just 'somewhere', and reference the 
modules with a relatvive path? same for the modules?

will a continuous integration server be able to understand that if i 
point it to http://repos/trunk/module-parent (so the modules are not 
directly in subdirectories)?

and will such relative module settups conflict with the release steps? 
or does that not matter at all?


any feedback would be welcome :)
regards

ossi


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: best location of parent pom in multi-module builds / subversion

Posted by ossi petz <os...@hallo.ms>.
Hallo

thanks for the input!

so if i use relative paths for the parent pom the maven release plugin 
will fail?

so you need to create a subversion repository for every parent-pom?

i tried to 'steal' some ideas from the apache subversion repository. but 
that pom structure is beyond what i can understand right now.

so when i want to work with releases and maintainance releases from 
branches i need to keept the parent pom / subdis layout and cannot use 
relatvive paths?


well. i think i need to get back to the experiments part :)


thanks for the feedback. anything still welcome

regards

ossi




Olivier Dehon schrieb:
> 
> I later had to change that layout and take the diskspace hit of moving
> to the 1st layout you describe, because the release plugin will not
> work otherwise.
> 
>>
>> the modules are stored in a subversion repository:
>> http://repos/trunk/module-1
>> http://repos/trunk/module-2
>> http://repos/trunk/module-3
>>
>> currently the parent pom is at
>> http://repos/trunk/pom.xml
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: best location of parent pom in multi-module builds / subversion

Posted by Olivier Dehon <od...@gmail.com>.
That's a possibility indeed, but the disk space issue is by far less
important than the ability to build an individual subproject on demand
from continuum!

Ideally, continuum should be aware of the project/modules structure
and use the module subdirectory checked out with the parent as its
working directory, and not create a separate one.

-Olivier

Wendy Smoak wrote:
> On 6/13/07, Olivier Dehon <od...@gmail.com> wrote:
>
>> I used to use the 2nd layout you describe because it made sense as the
>> continuous integration engine that I use (continuum) checks out every
>> project in separate subdirectories for each subproject.
>> That way it didn't checkout all the subprojects alongside the parent
>> POM just to build the parent...
>>
>> I later had to change that layout and take the diskspace hit of moving
>> to the 1st layout you describe, because the release plugin will not
>> work otherwise.
>
> This might help to get the disk space back:  remove the
> --non-recursive switch from the build definition on the parent, and
> delete all the separate child modules.  (That should be an option when
> you add a project...)
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: best location of parent pom in multi-module builds / subversion

Posted by Wendy Smoak <ws...@gmail.com>.
On 6/13/07, Olivier Dehon <od...@gmail.com> wrote:

> I used to use the 2nd layout you describe because it made sense as the
> continuous integration engine that I use (continuum) checks out every
> project in separate subdirectories for each subproject.
> That way it didn't checkout all the subprojects alongside the parent
> POM just to build the parent...
>
> I later had to change that layout and take the diskspace hit of moving
> to the 1st layout you describe, because the release plugin will not
> work otherwise.

This might help to get the disk space back:  remove the
--non-recursive switch from the build definition on the parent, and
delete all the separate child modules.  (That should be an option when
you add a project...)

-- 
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: best location of parent pom in multi-module builds / subversion

Posted by Olivier Dehon <od...@gmail.com>.
Hi,

I used to use the 2nd layout you describe because it made sense as the
continuous integration engine that I use (continuum) checks out every
project in separate subdirectories for each subproject.
That way it didn't checkout all the subprojects alongside the parent
POM just to build the parent...

I later had to change that layout and take the diskspace hit of moving
to the 1st layout you describe, because the release plugin will not
work otherwise.

I hope this helps.

-Olivier

ossi petz wrote:
> hallo
>
> this might be obvious for everyone. but well - i could not find clear 
> recommendations on how to do this the best way.
>
> i have a multi-module build:
>
> parent pom.xml
>  - module-1
>  - module-2
>  - module-3
>
> the modules are stored in a subversion repository:
> http://repos/trunk/module-1
> http://repos/trunk/module-2
> http://repos/trunk/module-3
>
> currently the parent pom is at
> http://repos/trunk/pom.xml
>
> to ease working with the parent pom in eclipse (allow working like 
> other projects), i moved the parent pom into an own module: 
> parent-module which is stored beside the other modules in subversion:
> http://repos/trunk/module-1
> http://repos/trunk/module-2
> http://repos/trunk/module-3
> http://repos/trunk/module-parent
>
> but i dont want to copy the parent pom everytime to /trunk/pom.xml
> and in future we may have additional parent poms for that location.
>
> using a continous integration server and let it point to the parent 
> pom seems only to work if the directory structure is normalized 
> (parent pom and its modules in the same folder)
>
>
> so: can the parent pom be stored just 'somewhere', and reference the 
> modules with a relatvive path? same for the modules?
>
> will a continuous integration server be able to understand that if i 
> point it to http://repos/trunk/module-parent (so the modules are not 
> directly in subdirectories)?
>
> and will such relative module settups conflict with the release steps? 
> or does that not matter at all?
>
>
> any feedback would be welcome :)
> regards
>
> ossi
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: best location of parent pom in multi-module builds / subversion

Posted by Evan Toliopoulos <ev...@softwarekitchen.com.au>.
Hey Ossi,

I have a similar structure for one of our projects.

In the parent pom you can specify a relative path for the module:

    <modules>
        <module>../module-1</module>
        <module>../module-2</module>
        <module>../module-3</module>
    </modules>

Enjoy!
Evan

ossi petz wrote:
> hallo
>
> this might be obvious for everyone. but well - i could not find clear 
> recommendations on how to do this the best way.
>
> i have a multi-module build:
>
> parent pom.xml
>  - module-1
>  - module-2
>  - module-3
>
> the modules are stored in a subversion repository:
> http://repos/trunk/module-1
> http://repos/trunk/module-2
> http://repos/trunk/module-3
>
> currently the parent pom is at
> http://repos/trunk/pom.xml
>
> to ease working with the parent pom in eclipse (allow working like 
> other projects), i moved the parent pom into an own module: 
> parent-module which is stored beside the other modules in subversion:
> http://repos/trunk/module-1
> http://repos/trunk/module-2
> http://repos/trunk/module-3
> http://repos/trunk/module-parent
>
> but i dont want to copy the parent pom everytime to /trunk/pom.xml
> and in future we may have additional parent poms for that location.
>
> using a continous integration server and let it point to the parent 
> pom seems only to work if the directory structure is normalized 
> (parent pom and its modules in the same folder)
>
>
> so: can the parent pom be stored just 'somewhere', and reference the 
> modules with a relatvive path? same for the modules?
>
> will a continuous integration server be able to understand that if i 
> point it to http://repos/trunk/module-parent (so the modules are not 
> directly in subdirectories)?
>
> and will such relative module settups conflict with the release steps? 
> or does that not matter at all?
>
>
> any feedback would be welcome :)
> regards
>
> ossi
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org