On Nov 1, 2010, at 11:59 PM, Stephen Connolly wrote: > I think we need to get use to the idea of deploying a different POM > (as XML) from the POM that is used to build. >
Yes, my assumption for Polyglot is the front-end format could be anything, but an XML 4.0.0 POM must go to the repository. > Here are some use-cases I can see: > > 1. Corporate project which deploys an artifact to a public repo. Some > of the info (e.g. SCM details, developers, build, distMgmt, etc) is, > due to corporate policies / sensible reasons, information that should > not be deployed publically. This is out of scope. For interoperability, within the same model the selective reduction of the representation is a different problem. > > e.g. I may not want people contacting me directly just because I > worked for XYZ corp on that foobar-impl project Out of scope. > > e.g. May not want to publish how the artifact is built for external persons. > Out of scope. I think any form of selective reduction is not an interoperability problem per se. I don't want to conflate model reduction with the translations of models of the same version. > 2. Shading > Not sure what this has to do with it. The shade plugin can already make a reduced dependency POM if you like. > 3. Backwards compat. > Sure, which is 2) when we start making changes to the POM. > 4. Properties behaving badly > You'll have to explain here. I honestly don't know what you mean here. > -Stephen > > On 1 November 2010 22:37, Jason van Zyl <ja...@maven.org> wrote: >> I am working on a release of Polyglot Maven and the only tangible thing >> stopping me is having a plan for POM interoperability between: >> >> 1) Different representations of the model for the same version of the model. >> This is what I'd like for the first version of Polyglot Maven where I just >> want to translate the version 4.0.0 model between different representations. >> >> 2) Different versions of the model. This is something we will need for Maven >> 3.1. >> >> In talking with Benjamin and Brian for 1) I think it would be easiest to >> deploy both versions of the model. The complete model in the native dialect >> like Clojure, and the complete XML translation. Deploying both would be >> useful because in the case of Clojure they are trying to come up with a >> common model, like the POM, for Clojure-based build tools. So if someone >> built and deployed with Polyglot Maven using the Clojure dialect then they >> want people not using Polyglot Maven i.e. a native Clojure tool to read the >> Clojure. This assumes our models are compatible but we'll have to work that >> out. We need to start somewhere so I don't think abbreviating any of the >> information is good for a first pass. Leave it all there for now and we'll >> figure out if a build-only representation of the model will suffice for >> sending to the repository. >> >> For 2) Benjamin's recommendation was to transform elements in the newer >> model back to the 4.0.0 model. I'm not sure how long this will be possible >> but if we live with our baggage and say we'll only add elements to the model >> I think this will be a lot easier. Having to track removals across versions >> of the model will be a pain in the ass. We translate back for as long as we >> can and when we can't do that anymore maybe we do a build-only >> transformation. >> >> I'd like to field other thoughts before I write something up. I'm going to >> do all this work in Polyglot Maven because I'm sure I'm going to break >> things but the folks I'm working with will tolerate this for a while. I'm >> chatting with folks in the Clojure community on a Lein-like markup, Dhanji >> (a Googler working on Guice and Sitebricks) who is working on a format >> called Atom, and Kristian (fellow who makes all the Ruby/Maven tooling) who >> is working on a Ruby DSL. If things break here for a while it's not the end >> of the world and is a good testing ground. >> >> At any rate if anyone has ideas or documents I'll integrate it into the >> proposal I'm writing. I'm moving pretty fast and I plan to release a version >> of the Maven Shell next week, and then a couple weeks later a version with >> Polyglot capabilities. So if you have thoughts I'd appreciate them sooner >> rather then later. >> >> Thanks, >> >> Jason >> >> ---------------------------------------------------------- >> Jason van Zyl >> Founder, Apache Maven >> http://twitter.com/jvanzyl >> --------------------------------------------------------- >> >> Selfish deeds are the shortest path to self destruction. >> >> -- The Seven Samuari, Akira Kurosawa >> >> >> >> > > --------------------------------------------------------------------- > 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 --------------------------------------------------------- A language that doesn’t affect the way you think about programming is not worth knowing. -— Alan Perlis