On Nov 4, 2010, at 7:04 PM, Brian Fox wrote: >>>>> I'm not sure I understand. Is the proposal here to deploy non-XML project >>>>> descriptors to the repository in addition to the standard pom? If so, >>>>> what is the point? >>>> >>>> In the case of the Clojure dialect there will be two other implementations >>>> using the same dialect. Lein, Cake, and Polyglot Maven. Lein and Cake want >>>> to >deal with the Clojure format. So it's not skin off my back if we >>>> deploy another format, it's not going to harm anyone and help them. >>>> Polyglot Maven could deal >with either but there tools might not be able >>>> to. Should they use the bits in Polyglot Maven. I'd like that but I can't >>>> make them. > > If everything gets converted to the standard pom format, what use is > there having the alternate forms of their pom in the repo? If I depend > on something, I don't care how they built it, just that the pom has > the correct dependency information. >
If everything used Aether with the Maven connector then the interoperable XML format is all that would be required. Right now in Clojure-world there is PolyglotMaven, Cake and Leinigen. I'm not sure either of them do transitive dependencies, or just turn GAVs in their native format into URLs and just grab artifacts directly. If they don't happen to use Aether then they might want to use their format directly. They may want to crawl their repositories using tools written in Clojure processing their .clj files to do whatever. I don't know what these groups may ultimately do. > If you think the native info absolutely must be there for some other > reason, then I think it should be in a standard file to avoid an > explosion of unmanaged crap polluting the repo. Something like: > foo-1.0.pom and foo-1.0.native where native can contain any dialect > but is prefaced by a header describing what dialect it is. What I > wouldn't want to see is randomly named standards popping up for every > new dialect. Within the Maven world, I'm fine being fairly strict. But anything emitted in other dialects is not really going to cause Maven any grief and if having the native format makes these other folks happier and prevents them from rewriting bits I honestly don't think having a few extra bits in the repository matters. It's like another attached artifact? In fact nothing would stop them from just doing that anyway in their deployment phase using Aether. So if they wanted to we can't stop them using what's available in Aether APIs anyway. So I suppose we could leave it up to them. I don't see the big deal really. > > No one disagrees with the rest of what you said here about leveraging > the energy of the communities, I think the concern is simply that it > be done in a bounded way to keep the repo contents fairly normalized. I think it's bounded if there is always the XML format. The native formats being deployed won't affect Maven at all. We may find all of them use Aether and it's never required > > BTW this concept of native vs pom could apply to how we manage future > maven pom formats. Maven 3.1, 4 ,5 could all be valid native layouts > where the dependency info is translated back to the v4 pom we have > today. It is a mix of concerns to have both the build info and the > dependency info described in the same file in the repo. > Sure. > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > Thanks, Jason ---------------------------------------------------------- Jason van Zyl Founder, Apache Maven http://twitter.com/jvanzyl --------------------------------------------------------- We know what we are, but know not what we may be. -- Shakespeare