I think this is a good idea too. I toyed with this implementation but elected not to use it for some reason.
-----Original Message----- From: Rollo, Dan [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 15, 2006 11:12 AM To: Brian E. Fox; Maven Users List Subject: RE: maven-proxy and snapshots problem I made all projects have a parent pom that defines a custom "central" repository (which uses maven proxy), and file share based internal repositories. The new developer machine has to perform boostrap steps: 1. get the parent pom project from the bank. 2. run mvn install on this project (to install the parent pom locally). I didn't have to alter any settings.xml, and theoretically the "bootstrap" needs to be done only once (since thereafter, I'm expecting updates to the parent pom to be automagically retrieved by maven from the internal file share repo where it is published). What do you think of this approach? -----Original Message----- From: Brian E. Fox [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 14, 2006 8:59 PM To: Maven Users List Subject: RE: maven-proxy and snapshots problem I ended up having to require all developers set the repository in their settings just to bootstrap. Another work around is if you have a mirror of central defined to your maven proxy is to setup maven proxy to find the parent by looking in your repo. The problem here is that it won't work for snapshots because central has snapshots turned off by default. The solution to this? You guessed it, define a repository in your settings. As far as I can tell, there is no complete solution that doesn't require a repository in settings. Further complicating any attempts to outsmart maven was that repositories in the settings are searched before things in the pom. (can't remember why that was a problem, I think I was trying to cut down on the needless searching in locations where I know the files won't be found) -----Original Message----- From: Treloar, Barrie (SAPOL) [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 14, 2006 8:38 PM To: Maven Users List Subject: RE: maven-proxy and snapshots problem > -----Original Message----- > From: Brian E. Fox [mailto:[EMAIL PROTECTED] > Sent: Wednesday, 15 February 2006 12:01 PM > To: Maven Users List > Subject: RE: maven-proxy and snapshots problem > > One problem I ran into with specifying your repositories in the pom: You > will probably eventually want to have some inheritance and the > repository definition will be at some parent pom above where you are > building. In this case, if your repository definition is in the parent > pom, maven won't know how to find your parent in the repository. A good > ol' catch-22. This obviously isn't a problem if you are always checking > out the code containing the parent and you have the correct layout where > the parent is ../pom.xml. Just something to consider. Thank you for coherently articulating exactly my situation yesterday! I was at another developer's machine and I had this problem. We were creating a new module, and trying to link it to the parent pom. But the parent pom was not in our local repository, and not being available in the proxy since maven was only checking "central". In this case the answer is obvious, checkout the parent and modify the parent pom since you need to define the module there anyway. Then install the parent pom in your local repository. But it doesn't solve the problem where: - A new developer starts on the project - Checks out the module they are working on - No parent pom in repository. I can't think of any real solutions to this problem. Previously it was working because my repository definitions were in settings.xml not in pom.xml. And all repositories in settings.xml where checked for the requested artifact. Now that the repository definitions are in the pom... Anyone have ideas? Barrie --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]