Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D2A2E200C0D for ; Tue, 31 Jan 2017 11:12:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id D141B160B52; Tue, 31 Jan 2017 10:12:00 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id CFFDC160B46 for ; Tue, 31 Jan 2017 11:11:59 +0100 (CET) Received: (qmail 23928 invoked by uid 500); 31 Jan 2017 10:11:59 -0000 Mailing-List: contact dev-help@groovy.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@groovy.apache.org Delivered-To: mailing list dev@groovy.apache.org Received: (qmail 23915 invoked by uid 99); 31 Jan 2017 10:11:58 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Jan 2017 10:11:58 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 59C2F1A0449 for ; Tue, 31 Jan 2017 10:11:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.301 X-Spam-Level: * X-Spam-Status: No, score=1.301 tagged_above=-999 required=6.31 tests=[HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 4sIYTpjxe3W5 for ; Tue, 31 Jan 2017 10:11:52 +0000 (UTC) Received: from smtpout01.partage.renater.fr (smtpout01.partage.renater.fr [194.254.240.31]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id A635E5F253 for ; Tue, 31 Jan 2017 10:11:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtpout01.partage.renater.fr (Postfix) with ESMTP id F2F11A253B for ; Tue, 31 Jan 2017 11:11:40 +0100 (CET) Received: from smtpout01.partage.renater.fr ([127.0.0.1]) by localhost (smtpout01.partage.renater.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rTwFz3U1SvjU for ; Tue, 31 Jan 2017 11:11:36 +0100 (CET) Received: from zmtaout02.partage.renater.fr (zmtaout02.partage.renater.fr [194.254.241.30]) by smtpout01.partage.renater.fr (Postfix) with ESMTP id 95EACA2336 for ; Tue, 31 Jan 2017 11:11:35 +0100 (CET) Received: from zmtaout02.partage.renater.fr (localhost [127.0.0.1]) by zmtaout02.partage.renater.fr (Postfix) with ESMTPS id 4D4BA2002D for ; Tue, 31 Jan 2017 11:11:04 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by zmtaout02.partage.renater.fr (Postfix) with ESMTP id 40BE420038 for ; Tue, 31 Jan 2017 11:11:04 +0100 (CET) X-Virus-Scanned: amavisd-new at zmtaout02.partage.renater.fr Received: from zmtaout02.partage.renater.fr ([127.0.0.1]) by localhost (zmtaout02.partage.renater.fr [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id FpAAmIoDFVl2 for ; Tue, 31 Jan 2017 11:11:04 +0100 (CET) Received: from zstore27-staff.partage.renater.fr (zstore27-staff.partage.renater.fr [10.254.241.53]) by zmtaout02.partage.renater.fr (Postfix) with ESMTP id 2A8222002D for ; Tue, 31 Jan 2017 11:11:04 +0100 (CET) Date: Tue, 31 Jan 2017 11:11:04 +0100 (CET) From: Remi Forax To: dev@groovy.apache.org Message-ID: <693511076.736116.1485857464051.JavaMail.zimbra@u-pem.fr> In-Reply-To: References: Subject: Re: [VOTE] Apache Groovy Roadmap MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_736115_705193114.1485857464050" X-Originating-IP: [194.254.242.1] X-Mailer: Zimbra 8.6.0_GA_1200 (ZimbraWebClient - FF50 (Linux)/8.6.0_GA_1200) Thread-Topic: Apache Groovy Roadmap Thread-Index: d7vXJo1jvMg0Z8BbZIryQJeaE9sOHw== archived-at: Tue, 31 Jan 2017 10:12:01 -0000 ------=_Part_736115_705193114.1485857464050 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > De: "Alessio Stalla" > =C3=80: dev@groovy.apache.org > Envoy=C3=A9: Mardi 31 Janvier 2017 11:04:00 > Objet: Re: [VOTE] Apache Groovy Roadmap > Sorry if outsiders are not meant to chime in :) > Why not > - 2.5 as C=C3=A9dric proposed (so Java 7 + macros) > - 3.0 with Java 8 and Parrot > - 4.0 with Java 9 and Jigsaw? Jigsaw is more or less forward compatible, i.e. you can release jars that w= ill use Java 8 to compile (or Java 9 in release mode 8) and also make them = jigsaw compatible in term of dependencies.=20 Obviously the module graph will be read only on Java 9 but the classpath wi= ll work on Java 8 (and on Java 9).=20 > This way Groovy versions and Java versions are nicely aligned. To let peo= ple try > Parrot early, there could be a 3.0 early access release that only replace= s the > antlr2-based parser with Parrot and bumps the required Java version to 8. R=C3=A9mi=20 > On 31 January 2017 at 10:55, C=C3=A9dric Champeau < cedric.champeau@gmail= .com > > wrote: >> 2017-01-31 10:46 GMT+01:00 Jochen Theodorou < blackdrag@gmx.org > : >>> On 31.01.2017 09:37, C=C3=A9dric Champeau wrote: >>>> Hi guys, >>>> There are multiple conversations going on for weeks, and I think they >>>> are going nowhere. We could discuss for months what's the best plan fo= r >>>> Groovy, without releasing anything. Here are the challenges that are >>>> waiting for us: >>>> 1. release a version of Groovy that integrates Groovy macros >>>> 2. upgrade the minimal runtime required for Groovy to 1.7, which is >>>> required to smoothly transition to higher requirements (and also, make >>>> our devs lives easier) >>>> 3. upgrade the minimal runtime required for Groovy to 1.8, allowing us >>>> to drop the old call site caching and use indy Groovy everywhere >>>> 4. integrate Parrot, which replaces the use of Antlr2 with Antlr4 >>>> 5. compatibility with Jigsaw, aka "Groovy as a module" >>>> I would like to propose the following plan: >>>> - Groovy 2.5: integrates 1 and 2, to be released ASAP, we've been >>>> waiting for this for too long >>>> - Groovy 2.6: integrate 4, implying backporting Parrot to Java 7 >>>> - Groovy 3.0: integrate 3 and 5. The only version with necessary >>>> breaking changes (we have no choice here) >>> If you insist on a removal of antlr2, then this will be a breaking chan= ge, since >>> we leak antlr2 classes in several places. 2.6 is then only an option if= antlr2 >>> stays. And considering your earlier statements that there should be onl= y one >>> parser, that means 2.6 has to be 3.0. >>> And considering that there is now a Java7 version of Parrot and that th= ere will >>> be at least two major versions before we are on JDK8... why not just go= with >>> 3.0 right away? >> Because macro groovy doesn't have to be bound with breaking changes. >>> So my -1 based on your argumentation from my side. An alternative plan: >>> no 2.5 >>> - 3.0 with macro methods and Java7 and parrot >>> - 4.0 java8 and jigsaw >>> bye Jochen ------=_Part_736115_705193114.1485857464050 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable



De: "Alessio Stalla" <= ;alessiostalla@gmail.com>
=C3=80: dev@groovy.apache.org
= Envoy=C3=A9: Mardi 31 Janvier 2017 11:04:00
Objet: Re: [VOTE]= Apache Groovy Roadmap
Sorry if outsiders are not meant to chime in := )

Why not
 - 2.5 as C=C3=A9dric proposed (so Java 7 + = macros)
 - 3.0 with Java 8 and Parrot
 - 4.0 wi= th Java 9 and Jigsaw?

Jigsaw is= more or less forward compatible, i.e. you can release jars that will use J= ava 8  to compile (or Java 9 in release mode 8) and also make them jig= saw compatible in term of dependencies.
= Obviously the module graph will be read only on Java 9 but the classpath wi= ll work on Java 8 (and on Java 9).



This way Groovy versions and = Java versions are nicely aligned. To let people try Parrot early, there cou= ld be a 3.0 early access release that only replaces the antlr2-based parser= with Parrot and bumps the required Java version to 8.

R=C3=A9mi


On 31 January 2017 at 1= 0:55, C=C3=A9dric Champeau <cedric.champeau@gmail.com> wrote:


2017-01-31= 10:46 GMT+01:00 Jochen Theodorou <blackdrag@gmx.org>:


On 31.01.2017 09:37, C=C3=A9dric Champeau wrote:
Hi guys,

There are multiple conversations going on for weeks, and I think they
are going nowhere. We could discuss for months what's the best plan for
Groovy, without releasing anything. Here are the challenges that are
waiting for us:

1. release a version of Groovy that integrates Groovy macros
2. upgrade the minimal runtime required for Groovy to 1.7, which is
required to smoothly transition to higher requirements (and also, make
our devs lives easier)
3. upgrade the minimal runtime required for Groovy to 1.8, allowing us
to drop the old call site caching and use indy Groovy everywhere
4. integrate Parrot, which replaces the use of Antlr2 with Antlr4
5. compatibility with Jigsaw, aka "Groovy as a module"
>
I would like to propose the following plan:

- Groovy 2.5: integrates 1 and 2, to be released ASAP, we've been
waiting for this for too long
- Groovy 2.6: integrate 4, implying backporting Parrot to Java 7
- Groovy 3.0: integrate 3 and 5. The only version with necessary
breaking changes (we have no choice here)

If you insist on a removal of antlr2, then this will be a breaking change, = since we leak antlr2 classes in several places. 2.6 is then only an option = if antlr2 stays. And considering your earlier statements that there should = be only one parser, that means 2.6 has to be 3.0.

And considering that there is now a Java7 version of Parrot and that there = will be at least two major versions before we are on JDK8... why not just g= o with 3.0 right away?

Because macro groovy= doesn't have to be bound with breaking changes.

So my -1 based on your argumentation from my side. An alternative plan:
=
no 2.5
- 3.0 with macro methods and Java7 and parrot
- 4.0 java8 and jigsaw

bye Jochen

=
------=_Part_736115_705193114.1485857464050--