Kotlin 1.1.6版本更新,新功能抢先预览
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/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修复和性能改进
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341