首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gradle 5.0 更新介绍

如果要对齐依赖版本,首先需要一个逻辑组(platform),platform规定了要使用的依赖版本,它可以是我们声明的依赖版本,也可以是由其他地方导入的BOM文件。...声明的版本 implementation("org.codehaus.groovy:groovy:1.8.6") } Kotlin DSL 1.0 Gradle官方很早就开始开发基于Kotlin...的DSL了,在Gradle 5.0Kotlin DSL正式版终于现身了,这意味着我们可以在生产项目中使用Kotlin DSL了。...如果想要使用Kotlin DSL,但是还是不太熟悉Kotlin DSL的语法也没有关系,Gradle官方早就写了一大堆示例项目,相信你看完以后肯定就了解如何使用了。连接在这里。 ?...Gradle构建初始化功能 gradle init任务现在增加了一些很实用的功能: 交互模式,初始化的时候可以在交互模式输入信息; Kotlin类库和程序,现在可以在初始化的时候生成Kotlin类库和程序类型

98440
您找到你想要的搜索结果了吗?
是的
没有找到

Gradle 5.0 正式版发布,史上最快、最安全!

通过新的性能和依赖关系管理、日志记录和弃用的 API 使用检查,构建扫描得到了显著的改进。 静态类型的 Kotlin DSL 可在创建构建逻辑时提供代码完成、重构和其他的 IDE 辅助。...主要改进可分为以下几类: 更快的构建 细粒度的传递依赖管理 编写 Gradle 构建逻辑 更高效的内存执行 新的 Gradle 调用选项 新的 Gradle 任务和插件 API 最后,可以了解如何进一步升级到...Gradle 5.0。...值得关注的新特性: 可用于生产环境的 Kotlin DSL 依赖版本对齐(与 Maven BOM 类似) 任务超时(task timeout) 支持 Java 11 详情请查看发布说明和 What's.../gradle-5/ 源码下载: https://github.com/gradle/gradle/releases/tag/v5.0.0 Gradle下载: https://gradle.org/install

44830

Gradle 与 AGP 构建 API: 配置您的构建文件

Gradle 会解析 build.gradle 文件的 android DSL 块并创建 AGP DSL 对象,例如 ApplicationExtension 和 BuildType。...由于我需要使用 Kotlin,所以在示例也应用了 kotlin.android 插件。...在该代码块,您可以为不同的构建类型 ( debug 或 release) 定义 SDK 版本、工具版本、应用详情及其它一些配置。...Gradle DSL 支持使用 Groovy 与 Kotlin 脚本编写构建文件。到目前为止,我都在使用 Groovy DSL 脚本来配置此工程的构建。...敬请关注下一篇文章,我们将带您了解如何在编写您自己的插件时,使用 AGP 的 Variant API 来扩展您的构建。 欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。

1.6K20

Gradle Kotlin DSL指南

Kotlin DSL脚本突出显示Kotlin语法 在Gradle Kotlin DSL脚本的代码补全,源代码导航,文档,重构等等 正如在限制中提到的,你必须从Gradle模型中导入你的项目,...你在Kotlin DSL脚本读到的所有东西都是由Gradle编译和执行的Kotlin代码。你在构建脚本中使用的许多对象、函数和属性都来自于Gradle API和应用插件的API。...DSL的所有类型 避免使用内部Kotlin DSL api 在插件和构建脚本中使用内部Kotlin DSL api可能会在Gradle或插件发生变化时破坏构建。...Kotlin DSL API使用org.gradle.kotlin.dsl包或org.gradle.kotlin.dsl.plugins....使用Gradle插件一章解释了如何在根项目构建脚本声明一个版本的插件,然后将它们应用到相应子项目的构建脚本。下面是一个使用三个子项目和三个插件的方法示例。

9.9K20

将构建配置从 Groovy 迁移到 KTS

Kotlin DSL:主要是指 Android Gradle 插件 Kotlin DSL,有时也指底层 Gradle Kotlin DSL。...在讨论从 Groovy 迁移时,术语“KTS”和“Kotlin DSL”可以互换使用。...[groovy-kts-diff2.png] 脚本文件名 Groovy DSL 脚本文件使用 .gradle 文件扩展名。 Kotlin DSL 脚本文件使用 .gradle.kts 文件扩展名。...有两个关键的最佳实践可以更轻松地在 Kotlin DSL 的静态上下文中工作: 使用plugins {}块 将本地构建逻辑放在构建的buildSrc目录 该plugins {}块是关于保持您的构建脚本声明性...Groovy语言构建的时候,往往会抽取一个version_config.gradle来作为全局的变量控制,而ext扩展函数则是必须要使用到的,而在我们的Gradle Kotlin DSL,如果想要使用全局控制

3.4K00

干货 | 实现一个属于你的“语言”-携程Kotlin DSL开发与实践

内部DSL:通常是基于通用编程语言实现,具有特定的风格, iOS 的依赖管理组件 CocoaPods 和 Android 的主流编译工具 Gradle。...这里主要分享在Kotlin构建使用DSL。 二、应用 Kotlin DSL的应用广泛,包括gradle编写、编写js、html、SQL等。...在Gradle5.0,官方提供可以选择在项目中生成Groovy或者kotlin DSL构建脚本,并进一步的优化代码自动完成、重构和其他 IDE 辅助功能,为使用Kotlin DSL的 IDE 用户带来了极大的便利...可见gradle官方也在努力将kotlin DSL推向大家视野。...在我们最近的海外支付SDK,采用该种方式构建项目, 部分gradle代码如下: 可以看到使用kotlin编写和groovy编写区别不大,所以即使我们要将现有工程的groovy脚本重写为kotlin

1.6K10

【Android Gradle 插件】LintOptions 配置 ③ ( LintOptions#error 方法配置 | Lint 问题 ID | 查询 Lint 问题 ID 列表 )

( build.gradle#android#defaultConfig 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html...) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html...WrongThreadInterprocedural": Wrong Thread (Interprocedural) D:\001_Develop\001_SDK\Sdk\tools\bin> 在上一篇博客..., 生成的 lint 检查报告 , 其中左侧的 就是 问题 id , " VectorRaster " 3、error 方法原型 LintOptions#error 配置原型 : error 方法是一个多态函数...void error(String... ids) Adds a severity override for the given issues. 4、使用示例 LintOptions#error 方法配置使用示例

97230

将构建配置从 Groovy 迁移到 KTS

Kotlin DSL:主要是指 Android Gradle 插件 Kotlin DSL,有时也指底层 Gradle Kotlin DSL。...在讨论从 Groovy 迁移时,术语“KTS”和“Kotlin DSL”可以互换使用。...groovy-kts-diff2.png 脚本文件名 Groovy DSL 脚本文件使用 .gradle 文件扩展名。 Kotlin DSL 脚本文件使用 .gradle.kts 文件扩展名。...有两个关键的最佳实践可以更轻松地在 Kotlin DSL 的静态上下文中工作: 使用plugins {}块 将本地构建逻辑放在构建的buildSrc目录 该plugins {}块是关于保持您的构建脚本声明性...Groovy语言构建的时候,往往会抽取一个version_config.gradle来作为全局的变量控制,而ext扩展函数则是必须要使用到的,而在我们的Gradle Kotlin DSL,如果想要使用全局控制

1.6K20

Kotlin 之美

Kotlin 对单例模式做了更彻底的精简,简直易如反掌,可以通过 object 关键字声明一个单例类的同时创建一个实例,: object singleton{//由于同时创建了实例,因此类名使用小写...通用编程语言 vs DSL 通用编程语言( Java、Kotlin、Android等),往往提供了全面的库来帮助开发者开发完整的应用程序,而 DSL 只专注于某个领域,比如 SQL 仅支持数据库的相关处理...Gradle 构建 Gradle 的构建脚本是 groovy,对 Android 程序员有一定的学习成本,目前,Gradle 官方也提供了基于 Kotlin 的构建脚本:Gradle Kotlin DSL...>>> 输出 Kotlin DSL 总而言之,lambda 在 KotlinKotlin DSL 扮演着很重要的角色,是实现整洁代码的必备语法糖。...而更进一步, Kotlin DSL 则是对 Kotlin 所有语法糖的一个大融合,她的代码结构通常是链式调用、lambda 嵌套,并且接近于日常使用的英语句子,我们可以愉悦的使用 DSL 风格的 API

2.9K20

【Android Gradle 插件】Gradle 构建工具简介 ③ ( Gradle 构建脚本编程语言 | Groovy 语言简介 | Groovy 语言特性 )

文章目录 一、Gradle 构建脚本编程语言 二、Groovy 语言简介 三、Groovy 语言特性 一、Gradle 构建脚本编程语言 ---- Gradle 构建工具 的 构建脚本 可以使用 Groovy...语言 或 Kotlin 语言 进行编写 , 使用 Groovy 语言编写的构建脚本是 build.gradle 构建脚本 ; 当前大量的 Android 应用 , 都是使用 Groovy 语言进行配置..., 因此老的项目维护时 , 需要用到该语言 ; 使用 Kotlin 语言编写的构建脚本是 build.kt 构建脚本 ; Kotlin 语言是一个趋势 , 之后肯定都会使用 Kotlin 进行配置 ;...以及 Java 语言的 API 函数 ; 此外 Groovy 还在 Java 语言基础上进行了扩展 , 使用起来更加方便 ; Groovy 语言吸收了很多高级语言的特性 , Python , Kotlin...: Groovy 语言 和 Kotlin 语言都 支持 DSL 语法特性 , 这也是为什么 Gradle 可以使用 Groovy 和 Kotlin 两种语言进行配置 ; 原生支持 XML : 不需要通过导入

89110

【Android Gradle 插件】Gradle 依赖管理 ② ( build.gradle 的 dependencies 依赖配置 | DependencyHandler#add 方法介绍 )

文章目录 一、build.gradle 的 dependencies 依赖配置 二、DependencyHandler#add 方法介绍 Android Plugin DSL Reference 参考文档.../api/artifacts/dsl/DependencyHandler.html 一、build.gradle 的 dependencies 依赖配置 ---- org.gradle.api.Project...{ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core...:core-ktx:1.3.2' // 矢量图支持库 , 支持 5.0 以下版本手机使用矢量图 , 这个是创建应用时自带的配置 implementation 'androidx.appcompat...compile " , " androidTestImplementation " 等字符串 , 表示依赖类型 ; Object dependencyNotation 参数 , 指的是要加入的依赖 ,

69130

Gradle Kotlin DSL 的 accessors 生成问题

概要 如果你想用 gradle kotlin DSL,那么请注意,accessors 的支持从 0.8.0 开始(gradle 3.5),后续也做了一些完善和更新,目前已经默认开启了这一项功能。...正文 昨天也是手欠,非要用 Gradle Kotlin DSL 构建工程,还看到现在连 settings.gradle 也支持用 kts 了,于是乎: ?...那么 compile 到底是什么,gradle 自己没有定义就不能用了吗?那倒也不是,gradle kotlin DSL 会帮我们根据插件的 configuration 定义生成这样的代码。...这在 gradle kotlin dsl 0.8.0 中就做了支持,官方把他们称作:Type-safe accessors,这个版本也跟随 gradle 3.5 发版。...详细说明在 gradle kotlin DSL 0.8.0 的更新说明当中:https://github.com/gradle/kotlin-dsl/releases/tag/v0.8.0 ,不过其中提到的

1.4K20

【Android Gradle 插件】Gradle 扩展属性 ② ( 定义在根目录 build.gradle 的扩展属性 | 使用 rootProject.扩展属性名访问 | 扩展属性示例 )

文章目录 一、定义在根目录 build.gradle 的扩展属性 二、扩展属性示例 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...build.gradle 构建脚本 , 则所有的 Module 模块下的 build.gradle 都可以获取到该扩展属性值 ; 在 Module 下的 build.gradle 可以使用 rootProject....扩展属性名 来访问定义在根目录 build.gradle 定义的扩展属性值 ; 二、扩展属性示例 ---- 在根目录下的 build.gradle 定义扩展属性 : // 定义扩展属性 , 其中的变量对所有子项目可见...:4.2.1" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE...:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.6.0' implementation

2.9K20

【Android Gradle 插件】自定义 Gradle 插件模块 ① ( 在 Module 模块自定义 Gradle 插件 | 创建自定义插件类型模块 | 手动导入相关依赖 )

文章目录 一、将自定义 Gradle 插件上传到远程仓库 二、创建自定义插件类型模块 ( Java or Kotlin Library ) 三、手动导入相关依赖 ( Java | Groovy | Gradle...' } 方式 , 在 Module 模块 , 导入并使用 Android Gradle 插件 ; 这种方式是将 自定义 Gradle 插件 的 jar 包 上传到了 jcenter / google.../ mavenCentral 远程仓库 ; 二、创建自定义插件类型模块 ( Java or Kotlin Library ) ---- 选择 " 菜单栏 / New / New Module…..." 选项 , 在 " Create New Module " 对话框 , 选择 创建 " Java or Kotlin Library " 类型的依赖库 ; 三、手动导入相关依赖 ( Java |... , 需要将其 手动引入 , 在 该 Module 模块的 build.gradle 构建脚本引入上述依赖 ; plugins { id 'java-library' id 'kotlin

2.1K30
领券