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

Gradle Kotlin DSL指南

Kotlin DSL用使用插件提供的模型元素的类型安全的模型访问器取代了这种动态解析。...例如,在任务上,它们的类型是TaskProvider,并提供底层任务的惰性引用和惰性配置。...Kotlin DSL为构建作者提供了几种与容器交互的方法。下面我们将以任务容器为例,逐一介绍这些方法。 注意,如果在受支持的容器上配置现有元素,可以利用另一节中描述的类型安全访问器。...的现有(非类型化)任务引用配置它—您只能使用此语法配置task上可用的属性和方法 注册一个名为myTask2的新非类型化任务配置它——在这种情况下,您只能配置task上可用的属性和方法 获取对现有任务名称的引用...下面的示例做了与前一节完全相同的事情,但它使用了委托属性,并重用了这些引用来代替字符串-文字任务路径: 使用Kotlin委托属性 build.gradle.kts val check by tasks.existing

9.9K20

【Android Gradle 插件】Gradle 构建机制 ② ( Groovy 语言 DSL 特性 | settings.gradle 配置文件解析 | 配置子模块工程目录 | 顶层配置 )

文章目录 一、Groovy 语言 DSL 特性 二、settings.gradle 配置文件解析 1、配置子工程 2、配置不同目录的子工程 3、顶层配置 Gradle 构建工具 的本质是 Java...应用程序 , 是运行在 Java 虚拟机 上的 ; 在空白的目录中 执行该 Gradle 构建工具 , 可以 生成一系列的构建文件 ; 一、Groovy 语言 DSL 特性 ---- 之前在 Groovy..., 领域特定语言 ) , 在 build.gradle 构建脚本中使用的是 Groovy DSL , 该语言专门用于配置 Gradle 构建脚本 ; 在 构建脚本 中 , 同样也可以使用 Groovy...语言 或 Kotlin 语言 的普通语法进行脚本编写 ; Android Studio 工程中 app 模块下的 build.gradle 构建脚本 都是如下样式的 : android { compileSdkVersion...配置文件解析 ---- settings.gradle 配置文件也是一个 Gradle 构建脚本 , 在其中也可以编写 Groovy 脚本执行 ; settings.gradle 配置文件 是 Gradle

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

Gradle 5.0 更新介绍

DSL 1.0 Gradle官方很早就开始开发基于KotlinDSL了,在Gradle 5.0中Kotlin DSL正式版终于现身了,这意味着我们可以在生产项目中使用Kotlin DSL了。...如果想要使用Kotlin DSL,但是还是不太熟悉Kotlin DSL的语法也没有关系,Gradle官方早就写了一大堆示例项目,相信你看完以后肯定就了解如何使用了。连接在这里。 ?...Gradle构建初始化功能 gradle init任务现在增加了一些很实用的功能: 交互模式,初始化的时候可以在交互模式中输入信息; Kotlin类库和程序,现在可以在初始化的时候生成Kotlin类库和程序类型...; 用推荐的配置生成构建,init任务现在会使用implementation、testImplementation和testRuntimeOnly配置来代替原来的compile、testCompile和...任务超时 现在任务可以指定一个超时值,当执行时间超过的时候会停止。 解析依赖时的HTTP重试 现在当Gradle通过HTTP访问远程仓库的时候,如果失败,会在拉黑这个仓库之前重试。

98440

将构建配置从 Groovy 迁移到 KTS

Groovy DS脚本文件后缀: .gradle. KTS:是指 Kotlin 脚本,这是 Gradle 在构建配置文件中使用的一种 Kotlin 语言形式。...Kotlin DSL:主要是指 Android Gradle 插件 Kotlin DSL,有时也指底层 Gradle Kotlin DSL。...Android构建配置从Groovy迁移KTS 准备工作 Groovy 字符串可以用单引号 'string' 或双引号 "string" 引用,而 Kotlin 需要双引号 "string"。...注意:plugins 代码块仅解析 Gradle 插件门户中提供的插件或使用 pluginManagement 代码块指定的自定义存储库中提供的插件。...gradle.properties 我们通常会把签名信息、版本信息等配置写在gradle.properties中,在kotlin-dsl中我们可以通过一下方式访问: rootProject.extra.properties

3.4K00

将构建配置从 Groovy 迁移到 KTS

Groovy DS脚本文件后缀: .gradle. KTS:是指 Kotlin 脚本,这是 Gradle 在构建配置文件中使用的一种 Kotlin 语言形式。...Kotlin DSL:主要是指 Android Gradle 插件 Kotlin DSL,有时也指底层 Gradle Kotlin DSL。...Android构建配置从Groovy迁移KTS 准备工作 Groovy 字符串可以用单引号 'string' 或双引号 "string" 引用,而 Kotlin 需要双引号 "string"。...注意:plugins 代码块仅解析 Gradle 插件门户中提供的插件或使用 pluginManagement 代码块指定的自定义存储库中提供的插件。...gradle.properties 我们通常会把签名信息、版本信息等配置写在gradle.properties中,在kotlin-dsl中我们可以通过一下方式访问: rootProject.extra.properties

1.6K20

Gradle 5.0 正式版发布

Kotlin DSL帮助信息 Kotlin DSL 从1.0版本便提供了对Gradle的支持。...如果您对用Kotlin编写构建感兴趣,可以从Gradle Kotlin DSL入门开始 扩大和互动 希望使用Gradle构建项目的用户可以选择其他项目类型一起使用,如kotlin-library和...发布了配置范围内的依赖项排除。 Maven发布和Ivy发布插件提供类型安全的dsl来定制作为发布的一部分生成的pom或Ivy模块。 任务超时处理 现在您可以为任务指定超时时间,超时后任务将被中断。...为使用内部api的任务Gradle提供自定义的嵌套DSL。...Gradle 5.0为嵌套DSL元素提供了一流的api,在考虑用户如何配置任务时提供了更大的灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外的API便利。

1.6K20

Gradle 5.0 正式版发布

Kotlin DSL帮助信息 Kotlin DSL 从1.0版本便提供了对Gradle的支持。...Kotlin中的静态类型允许工具提供更好的IDE帮助,包括调试和重构构建脚本、自动完成和您期望的其他一切。 如果您对用Kotlin编写构建感兴趣,可以从Gradle Kotlin DSL入门开始 ?...发布了配置范围内的依赖项排除。 Maven发布和Ivy发布插件提供类型安全的dsl来定制作为发布的一部分生成的pom或Ivy模块。 任务超时处理 现在您可以为任务指定超时时间,超时后任务将被中断。...为使用内部api的任务Gradle提供自定义的嵌套DSL。...Gradle 5.0为嵌套DSL元素提供了一流的api,在考虑用户如何配置任务时提供了更大的灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外的API便利。

2.3K30

使用新 Android Gradle 插件加速您的应用构建

配置缓存命中,Gradle 会并行执行所有需要构建的任务。再加上依赖解析的结果也被缓存了,整个 Gradle 构建的过程变得更加快速。...△ 存储配置缓存的过程 当所有任务配置完成后,Gradle 可以根据我们的配置计算出最终的任务执行图。随后配置缓存会将这个任务执行图缓存起来,并将各个任务的执行状态进行序列化,再放入缓存中。...所以只有先前已经被序列化的状态才会在新实例化的任务执行时被引用,这个阶段也不允许使用对全局状态的引用。...相比仅扩展 DSL,扩展 Variant API 有这样一些优势: DSL 值是固定的,但自定义变体属性可以使用构建任务的输出,Gradle 会自动处理所有构建任务的依赖项。...每个项目的配置都是彼此隔离的,不允许跨项目的引用,于是 Gradle 可以缓存每个项目的同步 (sync) 结果,每当构建文件发生变化,只有受影响的项目会被重新配置

2.6K30

【Android Gradle 插件】自定义 Gradle 插件模块 ③ ( Gradle 插件模块发布配置 | Windows 本地 Maven 仓库地址 | 将插件上传到本地 Maven 仓库 )

/build/dependencies org.gradle.api.Task 配置 ( Gradle 任务类型 ) 文档 : https://docs.gradle.org/current/javadoc.../org/gradle/api/Task.html org.gradle.api.tasks.TaskContainer配置 ( Gradle 任务容器类型 ) 文档 : https://docs.gradle.org.../current/javadoc/org/gradle/api/tasks/TaskContainer.html org.gradle.api.DefaultTask 配置 ( Gradle 自定义任务类父类...自带任务 ( clean 任务类型 ) 文档 : https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Delete.html org.gradle.api.tasks.bundling.Zip...自带任务 ( 任务类型 ) 文档 :https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html Gradle

92310

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

/build/dependencies org.gradle.api.Task 配置 ( Gradle 任务类型 ) 文档 : https://docs.gradle.org/current/javadoc.../org/gradle/api/Task.html org.gradle.api.tasks.TaskContainer配置 ( Gradle 任务容器类型 ) 文档 : https://docs.gradle.org.../current/javadoc/org/gradle/api/tasks/TaskContainer.html org.gradle.api.DefaultTask 配置 ( Gradle 自定义任务类父类...自带任务 ( clean 任务类型 ) 文档 : https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Delete.html org.gradle.api.tasks.bundling.Zip...自带任务 ( 任务类型 ) 文档 :https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html Gradle

2.1K30

Gradle—创建简单的项目

创建一个简单的构建 新建一个目录 使用 init 命令创建构建项目 Gradle 现在支持两种–Kotlin DSL 和 Groovy DSL .默认是 基于Groovy的,如果要使用 Kotlin 可以...使用 --dsl kotlin gradle init --dsl kotlin ?...构建的Gradle设置脚本 创建任务 Gradle提供了通过Groovy或基于kotlinDSL创建和配置任务的api。...项目包含一组任务,每个任务执行一些基本操作。 Gradle提供了一个任务库,我们可以在自己的项目中配置这些任务。例如,有一个核心类型的 Copy 任务,它可以复制文件。...在 配置脚本(build.gradle.kts) 添加 一个 Copy 类型的 copy 任务,从 src 目录复制到 dest 目录 Gradle 在执行时会自动创建 dest 目录。

1.2K20

Android Studio 4.0重磅发布:全新的 Motion 编辑器及众多更新都在这里!

但是,过时或错误配置任务可能会导致更长的构建时间,不仅令人沮丧,还会拖累生产率。...dataBinding = false ... } } Android Gradle 插件 DSL,用于启用或禁用构建功能 对 Kotlin DSL 脚本文件的基本支持 Android...我们将在明年继续完善 Android Gradle 插件的 DSL API,这可能会导致 Kotlin 脚本用户的 API 更改中断。...从长远来看,这些修补程序将为 Kotlin 脚本用户提供更加熟悉,易于使用的 DSL。...:启用或禁用单独的构建功能,例如数据绑定 Kotlin DSL:对 Kotlin DSL 脚本文件的基本支持 有关改动的完整列表,请阅读官方发行说明 http://d.android.com/studio

4.6K30

【Android Gradle 插件】TestOptions 配置 ④ ( org.gradle.api.tasks.testing.Test 单元测试配置类 | Android 单元测试示例 )

二、单元测试示例 单元测试类 gradle 配置 1、右键运行单元测试 3、执行单元测试 Gradle 任务 4、查看单元测试命令行输出 5、查看单元测试报告 Android Plugin DSL Reference...#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html...配置 build.gradle 配置如下 : plugins { id 'com.android.application' id 'kotlin-android' } android...release { // 是否开启优化混淆 minifyEnabled true // 是否启用资源压缩 , 使用的资源会被优化...:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.3.2' // 矢量图支持库 , 支持

1.2K20

【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ④ ( 默认生成的 pom 文件 | Maven 中的 pom 配置 | 自定义 pom 文件节点 )

配置 | Android Gradle 插件配置Gradle 配置关联 ) ★ Android Gradle 插件文档主页 : https://google.github.io/android-gradle-dsl.../build/dependencies org.gradle.api.Task 配置 ( Gradle 任务类型 ) 文档 : https://docs.gradle.org/current/javadoc...自带任务 ( clean 任务类型 ) 文档 : https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Delete.html org.gradle.api.tasks.bundling.Zip...自带任务 ( 任务类型 ) 文档 :https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html org.gradle.api.tasks.bundling.Jar...自带任务 ( 任务类型 ) 文档 : https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html Gradle

1.4K10

为什么说 Gradle 是 Android 进阶绕不去的坎

1.1 Gradle 的优缺点 相比于早期出现的构建工具,Gradle 能够脱颖而出主要是以下优点: 表达性的 DSLGradle 构建脚本采用基于 Groovy 的 DSL 领域特定语言,而不是采用传统的...gradle.properties 中,并直接在 .gradle 文件中引用。...Gradle 默认会在工程根目录下寻找 include 包含的项目,如果你想包含其他工程目录下的项目,可以这样配置: // 引用当前工程目录下的模块 include ':app' // 引用其他工程目录下的模块...'1.4.31' } 模块 build.gradle // 如果子 Project 也定义了 kotlin_version 属性,则不会引用父 Project implementation "org.jetbrains.kotlin...例如 Gradle 面板或绿色三角形,支持普通执行和调试执行; 3、默认任务: 通过 Project#defaultTasks 可以指定 Project 配置阶段的默认任务,在配置阶段会执行(这说明 Task

2.5K10

Gradle 5.0 新特性介绍

此外,gradle init还扩展了项目类型和交互性。 1.Kotlin DSL支持 Kotlin DSL 1.0从Gradle 5.0开始就可以使用了。...此外,您可以选择生成Groovy或Kotlin DSL构建脚本,并自定义项目名称和包。最后,一个新的交互UI让用户体验特别愉快。...当只执行一些操作时,配置所有这些操作是没有意义的。这就是Gradle 5.0的新配置避免api的帮助之处。通过在自定义任务中采用这些配置,大型项目可以节省高达10%的配置时间。 ?...为需要使用内部api的任务提供自定义的嵌套DSL。...Gradle 5.0为嵌套DSL元素提供了一流的api,在考虑用户如何配置任务时提供了更大的灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外的API便利。

2.8K30
领券