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 构建脚本并没有太大不同
但当你开始探索 IDE 中可能实现的功能时,事情会变得非常有趣。你会发现,突然之间,你通常期望从 IDE 获得的功能正常工作,包括
- 自动补全和内容辅助
- 快速文档
- 导航到源
- 重构等等
效果是显著的,我们认为它将对 Gradle 用户产生巨大影响。现在,你可能对一些事情感到疑惑——比如现有的 Gradle 插件是否能与 Gradle Script Kotlin 一起工作(是的,它们可以),以及用 Groovy 编写构建脚本是否已弃用(不,没有)。你可以在项目常见问题解答中找到这些问题和其他问题的完整答案。如果你有未在那里回答的问题,请告诉我们。
当然,这一切才刚刚开始。我们很高兴地宣布,Kotlin 脚本支持将在 Gradle 3.0 中提供,我们很快将发布更多关于我们路线图的信息。与此同时,无需等待——你现在就可以通过从我们的示例开始亲自试用 Gradle Script Kotlin。
我们希望你能尝试,因为我们非常乐意听取你的反馈。我们很想听听你的想法,以及你希望这项新工作如何发展。你可以通过项目的GitHub Issues提交问题,并且欢迎在公共Kotlin Slack的 #gradle 频道与我们聊天。
我要非常感谢我的同事 Rodrigo B. de Oliveira 在过去几个月里与我一起在这个项目上的合作——这很有趣!还要非常感谢 Kotlin 团队,特别是 Ilya Chernikov 和 Ilya Ryzhenkov,他们非常积极地为我们提供了 Kotlin 编译器和 Kotlin IDEA 插件所需的一切。前进!