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

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

第12章 使用 Kotlin 集成Gradle 开发 ---- 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者,...我们在前面的章节中,已经有很多示例项目使用了 Gradle 来构建我们的 Kotlin 工程。本章我们将系统地来介绍一下使用 Kotlin 集成Gradle 开发的相关内容。...12.1.7 编译器选项 要指定附加的编译选项,可以使用 Kotlin 编译任务compileKotlin的 kotlinOptions 属性。...这里面的 Gradle DSL 的相关函数与类都在 Gradle 软件包的 lib 目录下: lib/gradle-script-kotlin-(版本号).jar 。.../tree/build.gradle.kts 本章小结 本章我们简要介绍了使用 Kotlin 集成 Gradle 开发过程中的一些常用的配置方法。

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

    8--Gradle进阶 - Gradle任务的入门、任务行为

    8--Gradle进阶 - Gradle任务的入门、任务行为 Gradle Task Gradle 项目工程的管理 实质上是 Task 对象的集合。...另外,一个 Task 可以读取和设置Project 的Property 以完成特定的操作。 下面我们来看看如何编写 Gradle Task 任务。...任务入门 可参考官方文档:https://docs.gradle.org/current/userguide/tutorial_using_tasks.html 我们在 build.gradle 文件编写...-i 打印 info 的参数,如下: gradle -i task3 1685894792232 提示 1 :task3 的配置段是在配置阶段完成 提示 2 :task3 的doFirst、doLast...**提示 3:**区分任务的配置段和任务的行为,任务的配置段在配置阶段执行,任务的行为在执行阶段执行 任务的行为 doFirst、doLast 两个方法可以在任务内部定义,也可以在任务外部定义: //

    22740

    【Android Gradle 插件】自定义 Gradle 任务 ⑩ ( 自定义任务类继承 DefaultTask 类 | TaskContainer#create 函数创建任务 | 生成自定义任务)

    文章目录 一、自定义 Task 类继承 DefaultTask 类 二、TaskContainer#create 函数创建任务 三、生成自定义 Gradle 任务 Android Plugin DSL...org.gradle.api.tasks.testing.Test 单元测试配置类 : https://docs.gradle.org/current/javadoc/org/gradle/api...一、自定义 Task 类继承 DefaultTask 类 ---- Gradle 任务就是一个 Task 类 , 在 Gradle 脚本中 , 可以 自定义 Task 类 , 自定义任务类 , 需要继承...DefaultTask 类 , 并且 使用 @TaskAction 注解 指定任务需要执行的方法 ; 代码示例 : 下面自定义的 MyTask 任务类中 , 任务内容是 执行 run 方法 ; /**...* 自定义任务类 */ class MyTask extends DefaultTask { /** * 使用 @TaskAction 注解指定任务需要执行的方法 *

    86520

    【Android Gradle 插件】自定义 Gradle 任务 ⑥ ( 执行 Gradle 任务的简化版命令 | 同时执行多个 Gradle 任务的命令 )

    文章目录 一、执行 Gradle 任务的简化版命令 二、同时执行多个 Gradle 任务的命令 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...org.gradle.api.tasks.testing.Test 单元测试配置类 : https://docs.gradle.org/current/javadoc/org/gradle/api...任务的简化版命令 ---- 如果执行一个 Gradle 任务 , 该任务名称比较长 , 如 compileDebugAndroidTestSources 任务 , 可以使用波峰简化名称 ,...gradlew :app:cDATS 命令 , 来执行 compileDebugAndroidTestSources 的 Gradle 任务 ; 二、同时执行多个 Gradle 任务的命令 ----...如果需要同时执行多个 Gradle 任务的命令 , 可以使用 空格 将多个任务隔开 , 如想要同时执行 compileDebugAndroidTestSources 任务 和 assemble 任务 ,

    87610

    11--Gradle进阶 - Gradle任务的定义方式、指定任务的属性

    11--Gradle进阶 - Gradle任务的定义方式、指定任务的属性 前言 在前面的篇章中,我们写了不少 task 任务,但是任务完整的定义方式,指定哪些任务属性 没有一个归纳的总结。...任务定义方式 任务定义方式,总体分为两大类: 一种是通过 Project 中的task()方法 另一种是通过tasks 对象的 create 或者register 方法。...println "taskF...." } 定义任务的属性 当然:我们也可以在定义任务的同时指定任务的属性,具体属性有: img 在定义任务时也可以给任务分配属性: 定义任务的时候可以直接指定任务属性...定义任务的属性 //①.Z是任务名,前面通过具名参数给map的属性赋值,以参数方式指定任务的属性信息 task(group: "lijw", description: "this is task Z",...lijw 组 clean.group("lijw") 可以在 idea 中看到: 上面自定义的那几个任务和 gradle 自带的 clean 任务已经跑到:lijw 组了。

    20920

    12--Gradle进阶 - Gradle任务的类型

    12--Gradle进阶 - Gradle任务的类型 任务类型 前面我们定义的task 都是DefaultTask 类型的,如果要完成某些具体的操作完全需要我们自己去编写gradle 脚本,势必有些麻烦...有的,Gradle 官网给出了一些现成的任务类型帮助我们快速完成想要的任务,我们只需要在创建任务的时候,指定当前任务的类型即可,然后即可使用这种类型中的属性和API 方法了。...GradleBuild 执行 Gradle 构建 Jar 组装 JAR 归档文件 JavaCompile 编译 Java 源文件 Javadoc 为 Java 类 生 成 HTML API 文 档 PublishToMavenRepository...Tar 组装 TAR 存档文件 Test 执行 JUnit (3.8.x、4.x 或 5.x)或 TestNG 测试。 Upload 将 Configuration 的构件上传到一组存储库。..., Delete) { delete buildDir } 我们希望可以删除 build 的目录,如下: 1686273999540 执行该任务,如下: gradle myClean 1686274054276

    28120

    9--Gradle进阶 - Gradle任务的依赖方式

    9--Gradle进阶 - Gradle任务的依赖方式 前言 Gradle Task 任务之间是可以配置依赖的,那么为什么要配置依赖? 因为任务有可能依赖其他任务执行完毕之后,才可以开始执行。...对于这种情况,我们就可以通过任务的依赖来控制。 下面来介绍一下任务的依赖方式。...任务的依赖方式 Task 之间的依赖关系可以在以下几部分设置: 参数依赖 内部依赖 外部依赖 方式一:参数方式依赖 下面我们定义 task A、task B,其中 task C 依赖 A B 两个任务执行完毕后...build.gradle 文件中定义: // 在subproject02定义task task subTaskB { //依赖根工程下的subject01中的任务subTaskA :跨项目依赖。...拓展 2:重复依赖的任务只会执行一次,比如: A->B、C B->C 任务A 依赖任务 B 和任务 C、任务 B 依赖C 任务。执行任务A 的时候,显然任务C 被重复依赖了,C 只会执行一次。

    57130

    【Kotlin】常用的 Kotlin 类 ② ( 枚举类 | 枚举类定义函数 | 密封类 )

    文章目录 一、枚举类 二、枚举类定义函数 1、枚举类定义普通函数 2、枚举类定义构造函数 三、密封类 一、枚举类 ---- Kotlin 中使用 枚举类 定义常量 , 枚举类定义格式如下 : 枚举常量...枚举的 常量名称 ; MALE true 枚举的常量 Gender.MALE 是 Gender 类的一个 实例对象 ; 二、枚举类定义函数 ---- 在枚举类中 , 可以 定义函数 , 包括 普通函数...和 构造函数 ; 1、枚举类定义普通函数 通过 枚举类 的 类型常量 ( 实例对象 ) 可以 调用 枚举类中定义的方法 ; 为枚举类定义普通函数 : 在枚举类 Gender 中定义了 log 函数 ,...---- 枚举类型 是一组 子类型 闭集 ; 密封类 可以 定义 枚举类型的 子类型闭集 , 一个密封类可以有多个子类 , 继承密封类的子类 必须 与 密封类在相同的 Kotlin 代码文件中 ; 密封类适用于这种情况..., 要使用枚举的特性 , 但是需要在枚举基础上保存多个特性 ; 枚举只能实现简单的常量列举 , 如果需要更复杂的 子类型闭集 , 则需要使用密封类 ; 代码示例 : sealed class Gender

    1.1K10

    使用Gradle方式构建Kotlin缓存

    原理 构建缓存的工作原理是在缓存中存储编译过的类、测试结果和其它构建工序,同时记录所有的任务输入,包括输入文件内容、相关的类路径和任务配置。...其模型如下图所示: 下面的图标展示了在 Gradle 的持续集成中使用构建缓存和不使用构建缓存所收集到的构建时间。 示例 你现在就可以尝试使用 Gradle 的构建缓存。...的构建缓存,你重用了编译过的 Kotlin 类,而不是又重新编译!...另外 Gradle 构建缓存也支持缓存:test任务。当持续集成的一个实例填充了一个 共享的构建缓存(开发者可以从中拉取)时,Gradle 构建缓存会特别有效。下文罗列了实现这点的 更多资源的链接。...Gradle(将 IDE 构建 / 运行动作委派给 Gradle)”,从而在 IntelliJ 中构建和运行测试时利用构建缓存。

    62630

    Gradle Kotlin DSL 的 accessors 生成问题

    概要 如果你想用 gradle kotlin DSL,那么请注意,accessors 的支持从 0.8.0 开始(gradle 3.5),后续也做了一些完善和更新,目前已经默认开启了这一项功能。.../distributions/gradle-4.4-all.zip 看上去也没啥毛病啊,我的 build.gradle.kts 是这个样子: buildscript { var kotlin_version...那么 compile 到底是什么,gradle 自己没有定义就不能用了吗?那倒也不是,gradle kotlin DSL 会帮我们根据插件的 configuration 定义生成这样的代码。...详细说明在 gradle kotlin DSL 0.8.0 的更新说明当中:https://github.com/gradle/kotlin-dsl/releases/tag/v0.8.0 ,不过其中提到的...小结 kotlin 和 groovy 也算是各有所长,如果我们对于 gradle 的语法非常熟悉,那么我个人认为用 groovy 写 DSL 倒也灵活,kotlin 的约束毕竟多一些——而这也正是 Kotlin

    1.5K20

    【Android Gradle 插件】自定义 Gradle 任务 ⑫ ( Gradle 任务的输出和输出 | @Optional 注解 | UP-TO-DATE 避免重复执行任务 )

    org.gradle.api.tasks.testing.Test 单元测试配置类 : https://docs.gradle.org/current/javadoc/org/gradle/api...org.gradle.api.DefaultTask 配置 ( Gradle 自定义任务类父类 ) 文档 : https://docs.gradle.org/current/javadoc/org...; 可以使用 @Input 和 @Output 注解的形式 , 设置 Gradle 任务的 输入 和 输出 ; /** * 自定义任务类 */ class MyTask extends DefaultTask...任务的 输入 和 输出 是任务是否执行的标志 , 可以避免 Gradle 任务被重复执行 ; 如果 Gradle 任务执行完毕后 , 有了一个 输入 和 输出 值 ; 再次执行该 Gradle 任务...MyTask 任务类中的 run 方法 , 打印了 ‘MyTask’ 字符串 ; 第二次执行 : 提示 > Task :app:myTask UP-TO-DATE 内容 , 说明输入和输出与上一次执行相同

    77020

    基于springboot+kotlin+gradle构建的框架的坑

    , gradle 出现导入问题:load timeout 解决方法:在 build.gradle 如下图位置添加 maven 依赖: ?...解决方法:还是在 build.gradle 中添加第一坑中的 maven 即可解决,不过这次的位置是在一个单独的 repositories 标签内: ?...然后整个Gradle构建就会完成了:启动的main方法可以正常显示,且gradle不会再出现爆红: ? 第三坑:在你以为问题都ok了的情况下,直接去跑 main 方法了,但是还是有问题了: ?...然后问题这个就比较好解决了,在构建项目的时候选择了依赖 spring-jpa 于是在 build.gradle 中注释掉关于 jpa 的相关依赖后: 补充:这里同理mongodb也会有类似的问题出现,这里也把...好了你会看到启动的整个控制台输出没有问题了: 这是我们就可以开始自己的工作就ok了

    86160

    Android开发使用Gradle Kotlin的体验与建议

    基于对Kotlin的喜爱,以及在Java后台编码中我是使用的Gradle Kotlin而非Grovvy,所以对在Android开发中也想尝试与体验下使用Kotlin而非Grovvy....Gradle Kotlin与Grovvy 对于Gradle Kotlin,你需要谨慎的考虑是否有必要,对于Android开发来说,迁移KTS的优势在于: • KTS是基于Kotlin语言的, 而Kotlin...下文简要描述下,如何从Grovvy迁移至KTS 而Gradle是使用Grovvy还是Kotlin DSL的唯一区别就是文件名的后缀,但凡.gradle则表明它是基于Grovvy的,而.gradle.kts...则表明它是Kotlin 迁移方式 Gradle项目同时支持Grovvy以及KTS,这意味着你甚至可以有些是.gradle,有些是.gradle.kts,把它们混合起来都是允许的 所以,最佳的迁移方式是:...Kotlin Gradle比Grovvy Gradle性能要差, 而Andrid本身开发就非常吃性能,大型Android项目使用Kotlin Gradle当前并不是非常好的选择 2.

    1.7K10

    Kotllin与Maven和Gradle的集成

    Kotlin同时也提供了针对Maven和Gradle的支持。我们可以非常方便的在现有的Java项目中引入Kotlin。...和Maven集成 Kotlin文档提供了详细的配置,包括只配置Kotlin编译环境、同时编译Kotlin和Java等、只打包本项目文件、打包所有依赖等多种选项。 首先我们先定义一下Kotlin版本。...这里的声明仅用于项目中只有Kotlin代码的情况。...和Gradle集成 自从我学了Gradle之后(虽然只入了个门,还没学Groovy语言),我就不再用Maven了。别的不说,配置文件真的非常短。整个配置文件见下。...其实我们要做的就两件事情,一是声明buildscript片段,在其中配置Kotlin的版本、仓库等信息。二是添加kotlin插件。就这么点事情,Gradle就可以编译Kotlin代码了。

    91310

    【Android Gradle 插件】自定义 Gradle 任务 ⑬ ( DefaultTask 中的任务输入和输出属性 | TaskInputs 任务输入接口 | FileCollection )

    文章目录 一、DefaultTask 中的任务输入和输出属性 ( DefaultTask#taskInputs | DefaultTask#taskOutputs ) 二、TaskInputs 任务输入接口...org.gradle.api.tasks.testing.Test 单元测试配置类 : https://docs.gradle.org/current/javadoc/org/gradle/api...org.gradle.api.DefaultTask 配置 ( Gradle 自定义任务类父类 ) 文档 : https://docs.gradle.org/current/javadoc/org...) ---- 自定义 Gradle 任务继承了 DefaultTask 类 , 原型如下 : public class DefaultTask extends AbstractTask implements...Task { } DefaultTask 又继承了 AbstractTask 类 , 在 AbstractTask 类中 , 有 taskInputs 和 taskOutputs 两个成员变量 , 分别代表任务的

    1.3K20

    Kotlin中级(6)- - - Kotlin类之的继承.md

    Kotlin继承类 1.超类(Any) 在Kotlin中,所有的类都是继承自Any类,这是一个没有父类型的类。...package kotlin /** * The root of the Kotlin class hierarchy....* 看这个源码注释:意思是任何一个Kotlin的类都继承与这个[Any]类 */ public open class Any { // 比较: 在平时的使用中经常用到的equals...Java还是Kotlin,重写基类型里面的方法,则称为重写,或者是覆盖基类型方法 1.当基类中的函数,没有用到open修饰符修饰的时候,实现类中出现的函数的函数名不能与基类中没有用open修饰符修饰的函数名相同...// 注意,则的`final`修饰符在编辑器中是灰色的,因为Kotlin中默认的类默认是final的 那么当一个基类去继承另外一个基类时,第二个基类不想去覆盖掉第一个基类的方法时,第二个基类的该方法使用

    60960
    领券