What is truly the preferred/best solution to the chicken & the egg
problem with parent POM's?  (Where your parent POM might define the
internal repository to use, but a project defines it's parent as this
POM, which is stored in the internal repository, and therefore how do
you get it the first time?)

Brett Porter said in one mailing list entry:

 for information common to all projects, we recommend using an
organisation-wide parent POM that declares all the information. Of
course, this is a chicken and egg probem - you need the repository to
define the repository. The advantages to this are still:
- if you want to change the repository location you only need to
update that pom, not individual users computers (they get the new pom
from the old repository, and that is used for the new definition)
- you can share standard settings - organisation information, plugin
configuration, source layout, among all projects


Kenney Westerhof said in another mailing list entry:

This can cause a problem though: you usually define the artifact
repository in the root pom; if you check out a submodule, m2 might not
find the root pom in the correct repository; kinf of a chicken and egg
problem. A solution is to specify a company wide (or project
local) repository in your settings.xml.


I had started going down the route of always specifying the internal
repository in every POM I have, so that they could all be built
without requiring the user to know the details of the repository and
setting that up in settings.xml.  When I changed to
password-protecting this internal repository, I've now required the
person checking out a project to at least define the password in the
sites section of settings.xml, so that benefit seems decreased.

Is the proper compromise to specify the team-wide repository in the
Parent POM, and then specify the repository to get that POM in
settings.xml?

--
Stephen Duncan Jr
www.stephenduncanjr.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to