Kotlin 遇上 Gradle

目录

介绍

许多读者可能熟悉 JetBrains 出色的 Kotlin 编程语言。它自 2010 年开始开发,于 2012 年首次公开发布,并在今年早些时候发布了 1.0 GA 版本。

多年来,我们一直在关注 Kotlin,并对其语言的功能以及其广泛的应用(尤其是在 Android 社区中)印象深刻。

去年年底,Hans 与 JetBrains 团队的一些成员坐下来,共同思考:采用基于 Kotlin 的方法来编写 Gradle 构建脚本和插件会是什么样子?它如何帮助团队(尤其是大型团队)更快地工作,并编写结构更好、更易于维护的构建?

这些可能性令人向往。

由于 Kotlin 是一种静态类型语言,并在 IDEA 和 Eclipse 中都得到了深度支持,因此它可以为 Gradle 用户提供适当的 IDE 支持,从自动完成到重构以及介于两者之间的一切。而且由于 Kotlin 具有诸如头等函数和扩展方法之类的丰富功能,因此它可以保留并改进编写 Gradle 构建脚本的最佳部分,包括清晰的声明式语法以及轻松创建 DSL 的能力。

因此,我们开始认真探索这些可能性,在过去的几个月中,我们很高兴与 Kotlin 团队紧密合作,为 Gradle 开发了一种新的、基于 Kotlin 的构建语言。

我们称之为 Gradle Script Kotlin,Hans 刚刚在旧金山 JetBrains 的 Kotlin Night 活动上对其进行了首次演示。今天,我们发布了该工作的首个预发布版本,目标是 1.0 版本,并开源了其仓库,地址为 github.com/gradle/gradle-script-kotlin

那么它看起来像什么,你能用它做什么?乍一看,它与您今天所知的 Gradle 构建脚本并没有太大的不同

build.gradle.kts

但是,当您开始探索 IDE 中可能实现的功能时,事情会变得非常有趣。您会发现,突然之间,您通常期望从 IDE 获得的功能都可以正常工作,包括

  • 自动完成和内容辅助
  • 快速文档
  • 导航到源代码
  • 重构等

效果是显著的,我们认为这将对 Gradle 用户产生重大影响。现在,您可能在想一些事情,例如现有的 Gradle 插件是否可以使用 Gradle Script Kotlin(是的,它们可以),以及用 Groovy 编写构建脚本是否已弃用(不,没有)。您可以在项目 FAQ 中找到这些问题和其他问题的完整答案。如果您有未在那解答的问题,请告诉我们。

当然,这一切仅仅是个开始。我们很高兴地宣布,Kotlin 脚本支持将在 Gradle 3.0 中提供,我们很快将发布有关我们路线图的更多信息。与此同时,无需等待,您现在就可以通过开始使用我们的示例来亲自试用 Gradle Script Kotlin。

我们希望您这样做,因为我们很乐意听取您的反馈。我们很想听听您的想法,以及您希望看到这项新工作如何发展。您可以通过项目的 GitHub Issues 提交问题,并请在公共 Kotlin Slack 的 #gradle 频道中与我们聊天。

我想对我的同事 Rodrigo B. de Oliveira 表示衷心的感谢,感谢他在过去几个月中与我共同致力于这个项目,这非常有趣!还要衷心感谢 Kotlin 团队,特别是 Ilya Chernikov 和 Ilya Ryzhenkov,感谢他们在为我们提供 Kotlin 编译器和 Kotlin IDEA 插件所需的一切方面如此积极响应。前进!

讨论