On Nov 2, 2010, at 12:14 AM, Stephen Connolly wrote:

> I wasn't saying my use cases were in scope for polyglot's requirements.
> 

I'm talking generally for the model vN to model vN translation. Reduction is 
orthogonal to translation, it's a transformation. I'm thinking along the lines 
of making same canonical representation, not changing it.

> I was saying my use cases were in scope for arguing that we deploy
> multiple POM's to the repo.

Interoperability involving selective reduction versus interoperability of the 
same canonical model is what we're talking about. I think the selective 
reduction to the model which is a superset of what I think should first be 
attempted. If you let users reduce what they liked you're likely to have no 
operability, that would certainly need to be bounded from our side I think.

> 
> one POM must always be a 4.0.0 XML representation of the project

Not following, because that's won't be the case for an altered model in 3.1. 
Say model 4.1.

> , but
> it may not be the same as the other versions, as long as an automated
> process does the mapping ONTO the 4.0.0 XML representation
> 

Right the lowest common denominator will be model version 4.0.0.

> -Stephen
> 
> On 1 November 2010 23:04, Jason van Zyl <ja...@maven.org> wrote:
>> 
>> 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
>> 
>> 
>> 
>> 
> 
> ---------------------------------------------------------------------
> 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
---------------------------------------------------------

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.

  -- Jacques Ellul, The Technological Society



Reply via email to