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 591032009F9 for ; Mon, 23 May 2016 13:57:26 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 57BDD160A0F; Mon, 23 May 2016 11:57:26 +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 A187E1609A8 for ; Mon, 23 May 2016 13:57:25 +0200 (CEST) Received: (qmail 8832 invoked by uid 500); 23 May 2016 11:57:24 -0000 Mailing-List: contact users-help@groovy.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@groovy.apache.org Delivered-To: mailing list users@groovy.apache.org Received: (qmail 8822 invoked by uid 99); 23 May 2016 11:57:24 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 May 2016 11:57:24 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 63176180592 for ; Mon, 23 May 2016 11:57:24 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.179 X-Spam-Level: * X-Spam-Status: No, score=1.179 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id ujjTV9NT-ja0 for ; Mon, 23 May 2016 11:57:23 +0000 (UTC) Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 2F2325FB07 for ; Mon, 23 May 2016 11:57:23 +0000 (UTC) Received: by mail-wm0-f52.google.com with SMTP id z87so45207719wmh.0 for ; Mon, 23 May 2016 04:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=hvulOhw6vvNZXqisiWwWR6/X8cXvBEcZtdMxZOTqJwE=; b=Vy9NWmS78Nhr4Yu/axAVtmBbOSiS95YIS5DHdIbyXPItdF4KSoy/JRq9cd2xBihDoy UJ41MPBYzZYzwLC/okOP5vRN/xul4dTzBYmN11aXFWjneZ6PFQD7M+8kCsH3mv2nRNqp KOXcK/1wZ9fNoWe5yapI7zqJBI0m6kaD1egaC5eDCjHEGB0px2qvzNiBOJKgOZ20Kdd0 5fkc2mYAtRX0Y37QRGPVe4YrVdDuHaTRHsceKxSs8TIgT+DKVGlGGRTXI3/8pLqxk+D+ Fab6zgwZH9QlueIfKe5+5Nt2WK8utlICSCQ/sP11T6dkF6d22PeB0m26Fvy499L21irL B4XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=hvulOhw6vvNZXqisiWwWR6/X8cXvBEcZtdMxZOTqJwE=; b=gBSWGYD38ytNMChqm/nlRY1Cwdu4kXzkRrPjIAXiK0htxaNDOfCW5HQ/gpRLaExrdX SuGz0E1wwajgviL2gfXIBAs5VqsMS0mfTQdAkD33ufz0IWR8Zg2yJ9JwXoXL4YYrtP9M FYq59bgbzIc4Uzxy8dcJTaNR/rEkmG8uH/+dcqwpwzLEqrp8+6UjtW78d6wUThY1IAqH X6OogfcHsuyK6/deZNEuvXV3zaiI8WJ7zVjSR8RuctgwhZBzUkXY4/JEp/1YX8Ii2p/Q u/fofDl3fYpvvXh4B3n//FrlneKIrKh6gUJrzksJ01xAW/wQc9gs6qlA97HuW/qoHRrm YmsA== X-Gm-Message-State: AOPr4FV+/INTFAdHv2osH9gndXWgLRaWs7/KYFWUjh7Jhm6nAxaDKtFbLrzF+n3UAY1dBJSZQHxH+5oQUXzdZw== MIME-Version: 1.0 X-Received: by 10.28.46.209 with SMTP id u200mr16246062wmu.97.1464004642043; Mon, 23 May 2016 04:57:22 -0700 (PDT) Received: by 10.28.105.220 with HTTP; Mon, 23 May 2016 04:57:21 -0700 (PDT) In-Reply-To: <5742EBC6.7080609@gmx.org> References: <7421d291-23af-0dac-a54f-9c6e24f49e82@gmail.com> <5742EBC6.7080609@gmx.org> Date: Mon, 23 May 2016 13:57:21 +0200 Message-ID: Subject: Re: About Gradle, Kotlin and Inner Fear From: =?UTF-8?Q?C=C3=A9dric_Champeau?= To: users@groovy.apache.org Content-Type: multipart/alternative; boundary=001a11422fb6a381450533812403 archived-at: Mon, 23 May 2016 11:57:26 -0000 --001a11422fb6a381450533812403 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > > > > I really would like to see a gradle DSL example in Kotlin that cannot mad= e > static checked in Groovy. Because things like accessing dynamic propertie= s > won=C2=B4t work in Kotlin as well. > > I made it very clear in my blog post: the Kotlin DSL is based on a new AP= I that the static Groovy DSL could use too. That's not an issue. But Kotlin makes it significantly easier for IDEs because it is statically compiled, and therefore there's absolutely no need for an external DSL descriptor: all the constructs of the language, like extension methods or static builders are first class language features. The issue is, IDE support for Groovy is lacking (Groovy Eclipse is dead, IntelliJ needs to know specifics of static Gradle/Groovy scripts, ...) We can discuss that during GR8Conf if you will. GDSL is definitely not an option: it's far from being enough, and too slow. And it wouldn't solve the issues with the current DSL. So a new DSL is designed, and Kotlin has been chosen because it's static first and has supported IDEs (both IDEA and Eclipse). I can make a static Groovy DSL, it wouldn't change this fact. --001a11422fb6a381450533812403 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


I really would like to see a gradle DSL example in Kotlin that cannot made = static checked in Groovy. Because things like accessing dynamic properties = won=C2=B4t work in Kotlin as well.

I made it very clear in my blog post: the Kotlin DSL = is based on a new API that the static Groovy DSL could use too. That's = not an issue. But Kotlin makes it significantly easier for IDEs because it = is statically compiled, and therefore there's absolutely no need for an= external DSL descriptor: all the constructs of the language, like extensio= n methods or static builders are first class language features. The issue i= s, IDE support for Groovy is lacking (Groovy Eclipse is dead, IntelliJ need= s to know specifics of static Gradle/Groovy scripts, ...)
<= /div>
We can discuss that during GR8Con= f if you will. GDSL is definitely not an option: it's far from being en= ough, and too slow. And it wouldn't solve the issues with the current D= SL. So a new DSL is designed, and Kotlin has been chosen because it's s= tatic first and has supported IDEs (both IDEA and Eclipse). I can make a st= atic Groovy DSL, it wouldn't change this fact.

--001a11422fb6a381450533812403--