What happened to Polyglot Maven?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

What happened to Polyglot Maven?

Ralf Zahn
Hi,

I am currently studying what's new in Maven 3.0 (and will be introduced
with 3.1). Polyglot Maven should be one of the new features that got a
really good feedback by the community (I guess).
Unfortunately, it seems to be stopped (polyglot.sonatype.org forwards to
sonatype.org without any notice). I cannot find anything about it in JIRA.
So what is the current state about this topic? Any official statement by
sonatype?

Regards,
Ralf


ARS Computer und Consulting GmbH, http://www.ars.de
Ridlerstrasse 55, 80339 Muenchen, Deutschland
Handelsregister Muenchen, HRB 101829, USt-ID: DE 155 068 909
Geschaeftsfuehrer:
Michael Arbesmeier, Kai-Uwe Rommel, Roland Schock, Joachim Gucker

Reply | Threaded
Open this post in threaded view
|

Re: What happened to Polyglot Maven?

stephenconnolly
I don't know what Sonatype have decided with respect to polyglot.

From my personal PoV I see polyglot more as an experiment to find the best
v5 pom format rather than an on-going support for multiple formats.

Maven is supposed to be an opinionated build tool, with opinionated being a
feature...

If Maven has no opinion on how you format its own project descriptor then I
see that as a bad thing. There should be one true format and Maven should
fight you all the way if you attempt to use a different format.

Now should that format be XML? Only if it is the best format.
JSON? Only if it is the best format.
A custom DSL? Only if it is the best format.

Maven 1 had the project model version 3 which was XML based
Maven 2 & 3 has the project model version 4 which is XML based
Maven 4... well we are not there yet, but if we are to add some of the
features we'd like to see then it will need project model 5.

The issue with switching to project model 5 is that changing the project
model is something we (as a project) have not found particularly easy...
additionally there are a lot of other build tools out there that have
written their own parsers for the version 4 model, and we need to retain
some level of backwards compatibility with those project.

There is a massive repository of artifacts with version 4 project models
published... is the metadata in those models correct? not always, but stuff
mostly just works for most people most of the time... and to fix where it
doesn't we'd need a version 5 pom which existing clients will not be able
to read...

All this points to the "obvious" solution of deploying two poms to the
repository.... a v5 pom (in whatever format that is) and a v4 pom for the
existing consumers of the central repository generated from the v5 pom by
an automated process using a clearly defined set of rules.

You might ask what is stopping us from pursuing this solution? Well what
happens when you need something else that the v5 pom does not provide? Now
you need to deploy a v4, v5 and v6 project model for each deployment so
that the clients who can support the v5 features can still get those
features... a couple more rounds of that and suddenly everyone is going
ape-shit because deploying a simple 1kb .jar file requires sending 50
different versions of the project model to the repository just so that
somebody who's stuck with an ANT+Ivy build can add the dependency to fix
the bug in the legacy code that they have to maintain.

So what we need is a v5 format that allows for extensions without forcing a
format change. Keep in mind that not all pom consumers are written in Java
or even running on a JVM, so we cannot force consumers to download a shim
parser layer, etc (might be able to allow downloading an XSLT stylesheet to
convert down to the required format... but that would force XML on
consumers which may not be what we want to do.

TL;DR

IMHO Polyglot is/was a way to try and easily explore different POM formats
with a view to deciding on the next format, once we have decided on the
next format Polyglot's reason for existence would be gone and therefore
there would be no need to continue it.

Others may feel differently, the above is just my personal opinion.

On 1 August 2012 08:41, Ralf Zahn <[hidden email]> wrote:

> Hi,
>
> I am currently studying what's new in Maven 3.0 (and will be introduced
> with 3.1). Polyglot Maven should be one of the new features that got a
> really good feedback by the community (I guess).
> Unfortunately, it seems to be stopped (polyglot.sonatype.org forwards to
> sonatype.org without any notice). I cannot find anything about it in JIRA.
> So what is the current state about this topic? Any official statement by
> sonatype?
>
> Regards,
> Ralf
>
>
> ARS Computer und Consulting GmbH, http://www.ars.de
> Ridlerstrasse 55, 80339 Muenchen, Deutschland
> Handelsregister Muenchen, HRB 101829, USt-ID: DE 155 068 909
> Geschaeftsfuehrer:
> Michael Arbesmeier, Kai-Uwe Rommel, Roland Schock, Joachim Gucker
>
>
Reply | Threaded
Open this post in threaded view
|

Re: What happened to Polyglot Maven?

Jason van Zyl-5
In reply to this post by Ralf Zahn
Ralf,

I'm still working on it along with a few others. Dhanji has the Atom markup working[1], Kristian has implemented a Ruby DSL[2], and Jason Dillon has implemented a Groovy DSL which creates synthetic plugins to bind arbitrary scripting to Maven's lifecycle. My original was to see how Maven's infrastructure could be leveraged by other markups and DSLs. These examples do render to an interoperable format insofar as consumers go. Maven itself obviously cannot run a Ruby DSL but if you like the Ruby DSL you can use it to build an not affect consumers: you can build and deploy to a Maven repository and someone else can consume the dependency with stock Maven.

I have all the early adopters I can deal with one-on-one right now, because I can't deal with many really, but if you have more than a passing interest feel free to email me privately.

[1]: https://github.com/dhanji/sitebricks/blob/master/pom.atom
[2]: https://gist.github.com/3244352
[3]: https://gist.github.com/3244367

On Aug 1, 2012, at 3:41 AM, Ralf Zahn wrote:

> Hi,
>
> I am currently studying what's new in Maven 3.0 (and will be introduced
> with 3.1). Polyglot Maven should be one of the new features that got a
> really good feedback by the community (I guess).
> Unfortunately, it seems to be stopped (polyglot.sonatype.org forwards to
> sonatype.org without any notice). I cannot find anything about it in JIRA.
> So what is the current state about this topic? Any official statement by
> sonatype?
>
> Regards,
> Ralf
>
>
> ARS Computer und Consulting GmbH, http://www.ars.de
> Ridlerstrasse 55, 80339 Muenchen, Deutschland
> Handelsregister Muenchen, HRB 101829, USt-ID: DE 155 068 909
> Geschaeftsfuehrer:
> Michael Arbesmeier, Kai-Uwe Rommel, Roland Schock, Joachim Gucker
>

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder & CTO, Sonatype
Founder,  Apache Maven
http://twitter.com/jvanzyl
---------------------------------------------------------

We all have problems. How we deal with them is a measure of our worth.

 -- Unknown





Reply | Threaded
Open this post in threaded view
|

Re: What happened to Polyglot Maven?

vra5107
Jason

I am trying to pitch maven to the folks who are still using Ant + Ivy and have created a dependency mess. One of the points I want to mention is polyglot because of fewer number of lines of code. Is your update from Aug 2012 still valid ? as in, polyglot not abandoned ?


Thanks
Venkat