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

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

one POM must always be a 4.0.0 XML representation of the project, 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

-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

Reply via email to