Kotlin 1.1.6版本更新,新功能搶先預覽

趙鈺瑩發表於2018-05-07

  Kotlin 1.1.6版本剛剛釋出,它是Kotlin 1.1版本的新修補程式和工具更新。新版本在Kotlin / JS Gradle專案中增加了對增量編譯的實驗性支援,其目標是縮短開發過程中的構建時間,它與2016.3至2017.3之間的所有IntelliJ IDEA版本以及Android Studio 2.3、3.0和3.1 Canary都相容。

Kotlin 1.1.6版本更新,新功能搶先預覽

  Kotlin 1.1.6版本亮點概覽

  ·對Kotlin/JS增量編譯的實驗性支援(請注意,目前處於實驗性支援階段)

  ·JSR-305自定義可空性註釋支援

  ·修復自動Parcelable實現生成器Bug並提供IDE支援

  ·改進Gradle增量構建

  ·相容IntelliJ外掛,效能改進和bug修復

  Dmitry Jemerov在一篇部落格中解釋道,Kotlin 1.1.6在Kotlin / JS Gradle專案中引入了增量編譯的實驗性支援,可以顯著減少開發過程中的構建時間。編譯一個小的本地變化,分分鐘進行完整的非增量重建。

  請記住,這個實驗性支援預設是禁用的——程式設計師可以透過在gradle.properties或local.properties中設定kotlin.incremental.js = true來啟用。

  對JSR-305可空性註釋的支援已得到改進,並在此發行版中進行了一些bug修復:

  ·JSR-305預設型別限定符可以指定ElementType.TYPE_USE來影響註釋範圍內的所有型別用法,包括型別引數,型別引數上限和萬用字元型別。

  ·提供型別限定符暱稱和型別限定符預設註釋的庫維護者現在可以透過使用@UnderMigration標記註釋型別來控制註釋的遷移狀態。這個註解在一個新的工件kotlin-annotations-jvm中釋出,應該作為庫的一個依賴新增,例如在Gradle中編譯“org.jetbrains.kotlin:kotlin-annotations-jvm:1.1.60”。 @UnderMigration(status = ...)值指定編譯器如何處理在註釋的API用法中檢測到的可空性違例,並且可以是MigrationStatus.STRICT,MigrationStatus.WARN和MigrationStatus.IGNORE之一,從而使編譯器報錯。 MigrationStatus.STRICT被認為是實驗性的。

  出於某種原因,與庫維護人員提供的遷移狀態不同的使用者可以透過將編譯器標誌為下列形式之一傳遞給可空性檢查:

  ·-Xjsr305 = {strict | warn | ignore}現在隻影響所有沒有@UnderMigration狀態的註釋(strict模式是實驗性的)

  ·-Xjsr305=under-migration:{strict|warn|ignore}會覆蓋所有@UnderMigrationannotations的行為

  ·-Xjsr305=@<fq.name>:{strict|warn|ignore}其中fq.name是特定註釋的完全限定名稱,用於覆蓋遷移狀態。

  ·(flag可以組合)

  自動Parcelable實現生成器中的很多已知問題已經被修復,但目前處於實驗階段。此外,IDE還支援以診斷和快速修復的形式幫助使用@Parcelize。

  此外,Gradle專案test原始碼集中的Kotlin程式碼在主源被更改並且最新的檢查為可靠的情況下可以逐步重新編譯,這要歸功於一些bug修復。

  最後但並非不重要的是,Kotlin IntelliJ IDEA外掛有許多改進:

  ·新建專案嚮導,用Kotlin DSL建立一個Gradle專案

  ·在型別不匹配的情況下,快速修復將Iterable,Sequence和Array彼此轉換

  ·快速修復,使其型別引數在需要時透過使用

  ·許多bug修復和效能改進

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31077337/viewspace-2154014/,如需轉載,請註明出處,否則將追究法律責任。

相關文章