Henning I'm only going to respond to this email, since it is the only one in this thread that actually tries to contribute something to the progress of this project....
> - getting rid of the "SNAPSHOT" concept. This is fundamentally flawed. > Lets check at every build process whether "there is a newer jar in the > repository" is bad. -1 : One of the benefits to Maven is its ability to keep un-related projects in sync. Honestly, since Maven, I've had better success at building Jakarta projects. I contribute this, in part, to the SNAPSHOT concept of benefiting the cross-pollination of open source projects. However - SNAPSHOTS should be replaced with actual versions, when creating a source release. > - Make builds completely offline by default. If a jar is missing, die. -1 : Again, one major benefit to Maven is being able to resolve dependencies for you. Don't change the online behavior to appease the situation that you have a slow connection. Instead create a more robust lookup that distributes the load. AND if your project doesn't require SNAPSHOTS don't use them (most production project don't), but if you are working with a project that is in-development than you want to stay in sync. In the end, it is the developers call, and it should stay that way. Dependencies should (IMHO) be resolved in the following way local repository -> internal repository -> master repository (or mirror) -> domain specific repositories The last one Maven doesn't currently have, the DNS SRV proposal will make that possible. > - Have a switch doing a "closure" which does explicit download of all > missing jars at that point. Then you have a set of jars in your local > repository, which can be used to build. You have a reliable set of > jars to be able to test a local change. If the build breaks, it was your > change and not some developer uploading a newer "snapshot" version while > you were not looking. > > If something needs a "newer" jar, either run this closure switch again > or, > even better, maybe have > > % maven --update <artifact-id>, e.g. maven --update commons-collections > > which then pulls the most current release from the repository. I agree with Jason on this one, this is useful, but doesn't necessarily help development. And it is basically making it harder for a developer - let me explain. Currently, unless SNAPSHOT is specified, dependencies are resolved in your local repository first, therefore a build on hits the remote repository once! Instant "closure" > - get rid of the "symlink" concept on ibiblio. If you need a newer > version of the jar, you're willing to wait. Let maven check all existing > versions of an artifact and "get the newest" What? To me, it sounds like you just described a SNAPSHOT > - add a "manifest" file to each jar directory. This is managed at upload > time and can be downloaded by maven to get md5 sums, current versions > available and other meta information. Get an upload application / tool. Actually, this is similar to an idea I had. Last night I was trying to think of how to provide project-by-project customizable organization of their repository space. Then it hit me - A meta file "repository.xml". In this scenario <domain> specifies the origin of the project <groupID> provides the placement in a repository (restriction groupID must begin with the revers domain, and is required. Domain is optional, if domain is not specified it is considered equal to the reverse of groupID). Each project directory can be organized in a default manner (currently how it is done today, with artifact naming conventions, Jar/Distribtuions/License directories), but if repository.xml exists in the project's top level directory, than it is processed. This provides an extension point that can have artifact - physical location mappings. PROS; - Ultimate extensibility over time (consist extension point) - Very flexible in regards to project specific organization - Still provides default layout for *most* projects, since specific project organization is probably going to be a rare thing CONS: - Need to tread carefully as far as performance is concerned (adding xml processing to artifacts may provide a bottleneck). I do feel though that this is going to be a rare case for most projects. > - finally do a _clear_ definition of the semantics of This is being established. The repository as it stands right now, however, is evolving so there are artifacts that don't necessarily belong. I assume once a future repository layout is agreed on (Jason did mention that it would be the "final" layout change), that their will be a cleanup cycle. Until then developers just need to deal with it. It doesn't interfere with the dependency resolution. > After you get _these_ things nailed down, you can even start to think > about replicating or clustering maven repositories. I'm really scared, > thinking about a _really_ popular project which is used by thousands > of developers starting to use maven. Think Tomcat. Maven has grown fast and will continue to grow fast. Don't be scared, be excited. Maven is evolving, and in my opinion, has the potential of becoming the defacto standard for building projects. It is no secret, that it is not there yet. (and get the facts straight - JBoss knows this, and isn't making any moves. Someone mentioned it on the list, but that's about it. Somewhere along the way the message got misinterpreted. I lurk on that list. However, the fact that someone even mentioned Maven shows that it is making waves outside of the Turbine world. My hat is tipped to you Jason.) Help Maven get there through positive contributions. I think it is apparently clear that no one wants (or has the time) to deal with bullshit. - Mike > > Jason often talks about how he does not like "half-assed" > approaches. I let it to your imagination what my opinion about the > current maven repository structure is... :-) > > Regards > Henning > > Jason: BTW: Do you have any traffic numbers from the ibiblio repo? > > -- > Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH > [EMAIL PROTECTED] +49 9131 50 654 0 http://www.intermeta.de/ > > Java, perl, Solaris, Linux, xSP Consulting, Web Services > freelance consultant -- Jakarta Turbine Development -- hero for hire > > --------------------------------------------------------------------- > 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]