【譯】當 Kotlin 遇見 Gradle
本文也發在我的博客上:【譯】當 Kotlin 遇見 Gradle 。
本文是 Gradle 官網文章 Kotlin Meets Gradle 的譯文。 原文發佈於 2016-05-18,所以文中的時間都要再往前算一年。 如今 Kotlin 已經發布了 1.1,Gradle 已經發布了 3.5,Gradle Script Kotlin 也已經發布了 0.9.1,相對當時都更完善了很多。
很多讀者會對 JetBrains 的優秀編程語言 Kotlin 比較熟悉。 自 2010 年以來一直在開發中,在 2012 首次公開發布,並在今年年初發布了 1.0 GA。
這些年來我們一直在關注 Kotlin,並且對語言所提供的功能及其強大的吸引力(尤其對安卓社區)的印象愈加深刻。
去年年底,Hans 與 JetBrains 團隊的幾個成員一起坐下來想:一個基於 Kotlin 來寫 Gradle 構建腳本及插件的方式可能會是什麼樣的? 它對團隊的幫助如何——尤其是大型團隊——加快工作速度並編寫結構更好、更易於維護的構建?
這些可能性非常誘人。
因為 Kotlin 是一種靜態類型語言,在 IDEA 和 Eclipse 中都有深入的支持,所以可以從自動補全到重構以及其間的一切都能為 Gradle 用戶提供適當的 IDE 支持。 而且由於 Kotlin 具有豐富的功能,如一等函數和擴展方法,因此它可以保留和改進 Gradle 構建腳本的最佳部分——包括簡明的聲明式語法以及輕鬆製作 DSL 的能力。
所以我們認真地考察了這些可能性,在過去的幾個月里,我們很高興與 Kotlin 團隊密切合作,為 Gradle 開發一種新的基於 Kotlin 的構建語言。
我們稱之為 Gradle Script Kotlin,並且在舊金山的 JetBrains 的 Kotlin 之夜活動中,Hans 剛剛在舞台上發布了第一個演示版。 我們今天發布了這個作品向 1.0 發展的第一個預覽版本,並在 github.com/gradle/gradle-script-kotlin 上開源了它的版本庫。
那麼它是什麼樣的,而你能用它做什麼呢?乍一看,它看起來與你今天所知道的 Gradle 構建腳本並沒有 多大 不同。
但是,當你在 IDE 中開始探索各種可能性時,事情會變得非常有趣。 你會發現,突然間你以往期望的東西在 IDE 中 可用了,包括:
- 自動補全和內容輔助
- 快速文檔
- 跳轉到源代碼
- 重構等等
效果是戲劇性的,並且我們認為這會對 Gradle 用戶產生很大的影響。 關於這點,現在你可能對幾件事情有疑問——如現有的 Gradle 插件是否可以與 Gradle Script Kotlin 一起使用(是的,可以),以及是否已經棄用了 Groovy 編寫構建腳本(不,並不是)。 你可以在項目常見問題中找到這些問題以及其他問題的完整答案。 如果你有一個沒有答案的問題,請告訴我們。
當然,這還只是開始。 我們很高興地宣布,會在 Gradle 3.0 中提供 Kotlin 腳本支持,我們也會很快發布關於我們路線圖的更多信息。 在此期間,也無需等待——你現在可以通過我們的入門樣例來親自試用 Gradle Script Kotlin。
並且我們希望你這麼做,因為我們樂於收到你的反饋。 我們很樂於聽到你的想法,以及你有多期待這項新工作的進展。 你可以通過項目的 GitHub Issues 提出問題,並請在公共的 Kotlin Slack 的 #gradle 頻道中與我們聊天。
我非常感謝我的同事 Rodrigo http://B.de Oliveira 最近幾個月在這個項目上合作——有很多樂趣! 還要非常感謝 Kotlin 團隊,尤其是 Ilya Chernikov 和 Ilya Ryzhenkov,積極響應我們對 Kotlin 編譯器以及 Kotlin IDEA 插件的每個需求。 繼續加油!
推薦閱讀:
※國內有Android技術團隊在使用facebook的buck進行代碼構建嗎?
※求比較好的gradle的入門指引?
※如何在做網上自動化賺錢項目?
※在 AndroidStudio 工程點擊 Run 按鈕, 實際上做了什麼操作呢?
※從零開始的Android新項目2 - Gradle篇