Just for the record, whatever our temporary solution is, it's not working. I'm running an online build and it's been hung for like 5 minutes trying to download an ActiveMQ JAR from mortbay.org, and now it's moved on to the next ActiveMQ JAR and it's hung again. I had to whack mortbay from the list to get it to move at all.
I think the only way to avoid this with Maven 1 is to put everything in one repository and make that the only entry in our repo list. While it's nice to have backup sites in theory, if mortbay.org is causing timeouts, if I understand this right we're going to suffer that lag on every SNAPSHOT (which is 99% of our downloads -- geronimo*SNAPSHOT*) since I believe for a SNAPSHOT Maven checks all the repositories in the list. Will the infrastructure team be peeved if we put everything in our Solaris zone and make that the sole build repository for Geronimo? I don't know if the objection is to the level of traffic directed to people.apache.org or the level of traffic in general. Craig, to clear this up for you, in a typical Geronimo build, we create over 100 artifacts, which are all SNAPSHOTS. Every artifact has at least one other module that depends on it. With Maven 1.1-beta-2, the first time in a build that Maven finds a SNAPSHOT that it hasn't already downloaded in the current build, it tries to download the latest from (if I'm right above) all defined repositories. It does not understand that it just built that module, it tries to download it anyway. So we are guaranteed 100+ download attempts, times 5 repositories, or 500+ snapshot downloads per online build. Often, a repository (like mortbay above) is down in such a way to cause timeouts, which are on the order of minutes (there are apparently some retries involved), and you get that timeout for all 100+ snapshot downloads (making for a several hundred minute delay time on top of the normal build time). We can't remove everything but ibiblio from our list because we normally depend on SNAPSHOT releases of openejb, axis, activemq, tranql, jetty, and more, and those aren't in any one repo (certainly not on ibiblio). We also can't expect all Geronimo developers to maintain and build all those projects in order to build Geronimo. It seems like Maven 2 will help somewhat, between reduced SNAPSHOT downloads and mirror capability. Still, it's extremely unfortunate that your very first build as a developer is the absolute worst-case scenario. It would be very nice to have an updated "Maven repo bundle" that a new developer could download (or check out) and unpack to get all the dependencies in one shot so their first build could be offline (or at least faster). Thanks, Aaron On 6/7/06, Craig L Russell <[EMAIL PROTECTED]> wrote:
Apologies in advance if this is noisy. I've been using maven for only a year, so I don't understand all the issues. Maven will cache artifacts locally and if you have a dependency on a non-snapshot version of the artifact, it only ever gets downloaded once. From then on, it assumes that the version in your local repository is current. Right? If you have a dependency on a snapshot version it will attempt to download it from a remote repository, which you can define to be e.g. ibiblio to completely bypass any use of apache resources. (Of course, this means that it increases the load on ibiblio but they've signed up to be an apache mirror so they presumably know the drill). The way we use maven is that the snapshot version dependencies are on artifacts that can be built locally; that is, they just don't exist on the remote repository, so maven can't find them remotely. This can't be much of a load. Returning a 440 reply to a maven request isn't expensive... Right? I'm sure I'm missing something obvious, and I would like to know where I've gone off the rails... Thanks, Craig On Jun 7, 2006, at 12:57 PM, Henri Yandell wrote: > On 6/7/06, Joshua Slive <[EMAIL PROTECTED]> wrote: >> On 6/7/06, Henri Yandell <[EMAIL PROTECTED]> wrote: >> > On 6/7/06, Joshua Slive <[EMAIL PROTECTED]> wrote: >> > >> > > And in any case, I believe that much of the problem >> > > is not with maven per se, but with how it is being used. >> > >> > How exactly? >> > >> > Cocoon/Geronimo have both hit the same problem. The factor >> would seem >> > to be having a lot of components in your build - which I can't >> see as >> > being a mis-use. >> >> The part about pointing to people.apache.org as a maven repository is >> not a design flaw in maven. The part about maven gobbling up way >> more >> resources than necessary probably is. > > Geronimo/Cocoon and other projects did not set up the maven snapshot > repository at the ASF, they're using what has been in place for a long > time. > > Hen Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!