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

Gradle Kotlin DSL指南

DSL所有类型 避免使用内部Kotlin DSL api 插件和构建脚本中使用内部Kotlin DSL api可能会在Gradle或插件发生变化时破坏构建。...构建脚本顶层(大多数插件扩展被添加到Project对象)和配置扩展块中都会发生这种情况。 注意,容器元素(如配置任务和sourceSets)访问器利用了Gradle配置避免api。...可以依赖项声明和configurations{}块配置名使用字符串字面量。 在这种情况下,IDE无法帮助你发现可用配置,但你可以相应插件文档或运行gradle依赖项查找它们。...Kotlin DSL为构建作者提供了几种与容器交互方法。下面我们将以任务容器为例,逐一介绍这些方法。 注意,如果在受支持容器上配置现有元素,可以利用另一节描述类型安全访问器。...一起配置多个容器元素 配置容器几个元素时,可以将交互分组到一个块,以避免每次交互重复容器名称。

9.9K20

Gradle 5.0 正式版发布

使用POM文件时,Gradle将正确地分离编译和运行时范围。这可以有效避免由于以前在编译类路径包含运行时依赖项而导致性能下降和依赖项泄漏问题。 Gradle现在也可以用在元素。...Kotlin DSL帮助信息 Kotlin DSL 从1.0版本便提供了对Gradle支持。...避免冗余配置 有些项目执行过程中会产生很多任务,当只执行一些操作时,配置所有这些操作是没有意义。这就是Gradle 5.0配置避免api神奇之处。...通过自定义任务采用这些配置,大型项目可以节省高达10%配置时间。 APIs Gradle 5.0引入了新api来改进对Maven和Ivy存储库管理。...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入门开始 ?...避免冗余配置 有些项目执行过程中会产生很多任务,当只执行一些操作时,配置所有这些操作是没有意义。这就是Gradle 5.0配置避免api神奇之处。...通过自定义任务采用这些配置,大型项目可以节省高达10%配置时间。 ? APIs Gradle 5.0引入了新api来改进对Maven和Ivy存储库管理。...Gradle 5.0为嵌套DSL元素提供了一流api,考虑用户如何配置任务时提供了更大灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外API便利。

2.3K30

Gradle 5.0 新特性介绍

我们将最近版本主要改进分为以下几类: 更快构建 细粒度传递依赖关系管理 编写Gradle构建逻辑 更高效内存级别执行 新Gradle调用选项Gradle任务和插件api 文章末尾,您可以进一步了解如何升级到...Gradle 5.0加强了约束,并为输入/输出声明引入了新api,这些api可以帮助您避免正确性问题。 ? 3.避免多余配置 有些项目会产生很多很多任务。...当只执行一些操作时,配置所有这些操作是没有意义。这就是Gradle 5.0配置避免api帮助之处。通过自定义任务采用这些配置,大型项目可以节省高达10%配置时间。 ?...Gradle 5.0为嵌套DSL元素提供了一流api,考虑用户如何配置任务时提供了更大灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外API便利。...这使得自定义任务作者能够将Gradle models连接在一起,而不用担心给定属性值何时会被知道,也不用担心在任务配置期间会避免资源密集型工作。

2.8K30

【Android Gradle 插件】自定义 Gradle 插件模块 ⑤ ( 完整总结 ) ★★★

Library 模块定义插件 四、配置自定义 Gradle 插件发布选项 五、配置 Group 分组、插件名称、插件版本号 六、自定义 Gradle 插件发布配置 七、META-INF 声明自定义插件核心类...选项 , " Create New Module " 对话框 , 选择 创建 " Java or Kotlin Library " 类型依赖库 ; 二、手动导入相关依赖 ( Java |...fileTree(dir: 'libs', includes: ['*.jar']) } 三、 Java or Kotlin Library 模块定义插件 ---- 插件模块 src/main...【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 模块定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )... , 定义完插件后 , 自定义 Gradle 插件模块 build.gradle 构建脚本 , 添加了 插件上传仓库 配置 , 为插件指定了 分组 , 版本号 , 名称 配置 ; //

1.3K20

《Kotin 极简教程》第12章 使用 Kotlin 集成Gradle 开发 第12章 使用 Kotlin 集成Gradle 开发《Kotlin极简教程》正式上架:

同时,还支持 IDE 实现自动完成和编译检查等功能。有了Gradle Script Kotlin,我们可以使用 Kotlin 来写配置文件,就跟写普通代码一样。...例如我们项目根路径下面的settings.gradle如下配置: include ':app' 每一个子项目都拥有自己build.gradle文件来声明自己如何构建。...12.1.7 编译器选项 要指定附加编译选项,可以使用 Kotlin 编译任务compileKotlin kotlinOptions 属性。...编写构建和配置文件 一个基于 Kotlin 来写 Gradle 构建脚本及插件方式可能会是什么?.../tree/build.gradle.kts 本章小结 本章我们简要介绍了使用 Kotlin 集成 Gradle 开发过程一些常用配置方法。

2.7K20

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

mavenCentral 远程仓库 中进行存储 , Android Studio 工程根目录 build.gradle 构建脚本 , 通过如下方式将 自定义插件 引入 Android 工程...' } 方式 , Module 模块 , 导入并使用 Android Gradle 插件 ; 这种方式是将 自定义 Gradle 插件 jar 包 上传到了 jcenter / google..." 选项 , " Create New Module " 对话框 , 选择 创建 " Java or Kotlin Library " 类型依赖库 ; 三、手动导入相关依赖 ( Java |...Groovy | Gradle ) ---- buildSrc 目录 下 , 会自动引入 Java / Groovy / Gradle 依赖 , 但是自己创建 Java Library 类型依赖库... , 需要将其 手动引入 , 该 Module 模块 build.gradle 构建脚本引入上述依赖 ; plugins { id 'java-library' id 'kotlin

2.1K30

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

这里主要分享Kotlin构建使用DSL。 二、应用 Kotlin DSL应用广泛,包括gradle编写、编写js、html、SQL等。...2.2 海外支付SDK DSL构建项目实践 众所周知Android studio是使用groovy编写gradle脚本,而groovy由于是动态语言,不可避免存在一个问题,就是代码提示不够智能,我们使用...Gradle5.0,官方提供可以选择项目中生成Groovy或者kotlin DSL构建脚本,并进一步优化代码自动完成、重构和其他 IDE 辅助功能,为使用Kotlin DSL IDE 用户带来了极大便利...可见gradle官方也努力将kotlin DSL推向大家视野。...我们最近海外支付SDK,采用该种方式构建项目, 部分gradle代码如下: 可以看到使用kotlin编写和groovy编写区别不大,所以即使我们要将现有工程groovy脚本重写为kotlin

1.6K10

Gradle—创建简单项目

使用 --dsl kotlin gradle init --dsl kotlin ?...构建Gradle设置脚本 创建任务 Gradle提供了通过Groovy或基于kotlinDSL创建和配置任务api。...项目包含一组任务,每个任务执行一些基本操作。 Gradle提供了一个任务库,我们可以自己项目中配置这些任务。例如,有一个核心类型 Copy 任务,它可以复制文件。... 配置脚本(build.gradle.kts) 添加 一个 Copy 类型 copy 任务,从 src 目录复制到 dest 目录 Gradle 执行时会自动创建 dest 目录。...分析构建过程 Gradle 提供了一个基于 web构建视图——构建扫描 执行时 使用 –scan 选项或者明确使用构建扫描插件都可以免费 https://scans.gradle.com 创建一个扫描视图分析

1.2K20

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

/han1202012/Android_UI 一、自定义 Gradle 插件发布配置 ---- 在上一篇博客 【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 模块定义插件...| 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 ) , 定义完插件后 , 自定义 Gradle 插件模块 build.gradle 构建脚本...Gradle 插件版本号 version '0.1' // 自定义 Gradle 插件名称 , 默认为工程名 // 也可以 publishing / publications 脚本块 自己指定...任务 , 如下图红色矩形框内容 ; generatePomFileForPluginPublication 任务作用是 生成 Pom 文件 , 该文件是 Maven 仓库描述文件 ;...--- Windows 系统 , 本地仓库目录为 " C:\Users\用户名.m2\repository " ; 电脑上 , 实际目录为 " C:\Users\octop.m2\repository

92310

【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 模块定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )

文章目录 一、 Java or Kotlin Library 模块定义插件 二、引入自定义 Gradle 插件模块 三、配置自定义 Gradle 插件上传选项 四、配置 Group 分组、插件名称、.../han1202012/Android_UI 一、 Java or Kotlin Library 模块定义插件 ---- 插件模块 src/main 目录 下创建 groovy 目录 ,...' 自定义 Gradle 插件名称 , 默认为工程名 , 也可以 publishing / publications / xxx / artifactId 配置 自己指定 插件名称 ; // 用于将...Gradle 插件版本号 version '0.1' // 自定义 Gradle 插件名称 , 默认为工程名 // 也可以 publishing / publications 脚本块 自己指定...Gradle 插件版本号 version '0.1' // 自定义 Gradle 插件名称 , 默认为工程名 // 也可以 publishing / publications 脚本块 自己指定

1.5K20

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

这样一来,子项目中 R 类大小将会显著减少。 这一改动可以您向运行时依赖项添加新资源时,避免重新编译下游模块。在这种场景下,可以给您应用带来 40% 性能提升。...您需要在 build.gradle 添加选项: // build.gradle android { ......这里需要说明,Gradle 配置缓存和构建缓存是不同,后者缓存是构建任务产物。 △ Build 配置输入内容 构建过程,您构建设置决定了构建阶段结果。...所以配置缓存会将诸如 gradle.properties、构建文件等输入捕获,放入缓存。这些内容同您请求构建任务一起,唯一地确定了构建中要执行任务。...△ 存储配置缓存过程 当所有任务配置完成后,Gradle 可以根据我们配置计算出最终任务执行图。随后配置缓存会将这个任务执行图缓存起来,并将各个任务执行状态进行序列化,再放入缓存

2.6K30

Android—Gradle教程(九)完结篇

当你build.gradle文件声明依赖时候,你应该避免版本号结束地方使用+号,比如:com.android.tools.build:gradle:4.+ 因为Gradle检查更新,用动态版本号会导致未知版本更新...2、Gradle Kotlin DSL 2.1 Kotlin DSL优缺点: Android Gradle插件4.0支持Gradle构建配置中使用Kotlin脚本 (KTS),用于替代 Groovy(...过去Gradle配置文件中使用编程语言) 将来,KTS会比Groovy更适合用于编写Gradle脚本,因为采用Kotlin编写代码可读性更高,并且Kotlin提供了更好编译时检查和IDE支持 虽然与...KTS:是指Kotlin脚本,这是Gradle构建配置文件中使用一种Kotlin语言形式。Kotlin脚本是可从命令行运行Kotlin代码。...Kotlin DSL:主要是指Android Gradle插件Kotlin DSL,有时也指底层Gradle Kotlin DSLKotlin编写Gradle build文件使用.gradle.kts

2.7K20

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

文章目录 一、定义根目录 build.gradle 扩展属性 二、扩展属性示例 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档.../build/dependencies 一、定义根目录 build.gradle 扩展属性 ---- org.gradle.api.Project 配置 ( build.gradle配置...build.gradle 构建脚本 , 则所有的 Module 模块下 build.gradle 都可以获取到该扩展属性值 ; Module 下 build.gradle 可以使用 rootProject....扩展属性名 来访问定义根目录 build.gradle 定义扩展属性值 ; 二、扩展属性示例 ---- 根目录下 build.gradle 定义扩展属性 : // 定义扩展属性 , 其中变量对所有子项目可见...} build.gradle 定义 变量 , 然后自定义 task 任务 , 输出该变量 , 代码如下 : // 定义局部变量 def hello = 'Hello World!'

2.9K20

Gradle 构建脚本基础(introductory tutorial)

} } 命令行 shell ,移动到包含目录并使用 gradle-q hello 执行构建脚本: 本用户指南中大多数示例都使用 -q 命令行选项运行。...Groovy DSL shortcut notations Groovy DSL 快捷符号 有一种方便符号可用于访问现有任务。... Gradle 使用 Ant 任务 build.xml 文件中使用 Ant 任务更方便、更强大。 而且 Kotlin 也可以使用。...配置阶段之后,Gradle 知道应该执行所有任务Gradle 为你提供了一个利用这些信息钩子。 这样做用例是检查发布任务是否在要执行任务之中。...实际构建中使用类似的构造时,您必须确保配置期间不要急切地读取值。 否则,配置和执行之间,构建可能对属性使用不同值。

76620

深入理解Gradle构建系统工作原理

它采用了基于Groovy和KotlinDSL(领域特定语言),使得构建脚本更加简洁、灵活。...作为一种基于Groovy和KotlinDSL(领域特定语言),Gradle使得构建脚本编写更加简洁、易读,并且具有高度可维护性。...构建配置:在这一部分,您可以配置和定制Gradle插件和任务行为,例如编译选项、打包方式等。 任务执行顺序:您可以定义任务之间依赖关系,以确保它们按正确顺序执行。...每个任务都有一个唯一名称,通过任务名称可以命令行或构建脚本执行任务Gradle任务是可配置,您可以根据项目的需求,对任务进行不同配置,包括输入参数、输出结果、执行动作等。...Gradle DSL参考 - GradleDSL(Domain Specific Language)参考文档,详细解释了Gradle构建脚本各种配置选项和属性。

21810

Gradle 5.0 更新介绍

遇到了不同版本情况下,都会对齐到platform规定版本上。...BOM声明版本 implementation("org.codehaus.groovy:groovy:1.8.6") } Kotlin DSL 1.0 Gradle官方很早就开始开发基于Kotlin...DSL了,Gradle 5.0Kotlin DSL正式版终于现身了,这意味着我们可以在生产项目中使用Kotlin DSL了。...Gradle构建初始化功能 gradle init任务现在增加了一些很实用功能: 交互模式,初始化时候可以交互模式输入信息; Kotlin类库和程序,现在可以初始化时候生成Kotlin类库和程序类型...官方文档有一个很长列表,这里只简单列出一部分: 之前4.0提升特性 并行任务执行 持续构建 组合构建 java-gradle-plugin插件 distribution插件 jacoco插件 更新日志还有很多地方我没有介绍

98440

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

文章目录 一、默认生成 pom 文件 二、Maven pom 配置 三、自定义 pom 文件节点 Android Plugin DSL Reference 参考文档 : Android Studio... 二、Maven pom 配置 ---- pom 文件 , 除了默认生成配置外 ,...Gradle 插件版本号 version '0.1' // 自定义 Gradle 插件名称 , 默认为工程名 // 也可以 publishing / publications 脚本块 自己指定...// 用于将 插件上传到 远程仓库 或者 本地仓库 apply plugin: 'maven-publish' // 自定义源码打包任务 // 自定义 Jar 类型 Gradle 任务 /...面板 publishingPluginPublicationToMavenLocal 任务 , 查看本地 Maven 仓库 , 生成 pom 配置如下 : 自定义 Gradle 插件 -

1.4K10
领券