创建一个简单的构建 新建一个目录 使用 init 命令创建构建项目 Gradle 现在支持两种–Kotlin DSL 和 Groovy DSL .默认是 基于Groovy的,如果要使用 Kotlin 可以...使用 --dsl kotlin gradle init --dsl kotlin ?...构建的Gradle设置脚本 创建任务 Gradle提供了通过Groovy或基于kotlin的DSL创建和配置任务的api。...使用插件 Gradle 提供了大量的插件,在 Gradle 插件站 可以查到 今天使用 一个 base 插件 结合它的核心类型 Zip 任务,实现打包压缩包的任务。...分析构建过程 Gradle 提供了一个基于 web的构建视图——构建扫描 在执行时 使用 –scan 选项或者明确使用构建扫描插件都可以免费的在 https://scans.gradle.com 创建一个扫描视图分析
文章目录 一、创建自定义插件类型模块 ( Java or Kotlin Library ) 二、手动导入相关依赖 ( Java | Groovy | Gradle ) 三、在 Java or Kotlin...选项 , 在 " Create New Module " 对话框中 , 选择 创建 " Java or Kotlin Library " 类型的依赖库 ; 二、手动导入相关依赖 ( Java |...fileTree(dir: 'libs', includes: ['*.jar']) } 三、在 Java or Kotlin Library 模块中定义插件 ---- 在插件模块中的 src/main...中 apply plugin: 'maven-publish' 然后 , 创建 publishing 扩展 , 在该扩展中 , 可以在其中的 publications 脚本块 中为插件传入参数 ; 注意..." 是 Group 分组 " gradle " 是 插件名称 " 4.2.1 " 是 插件的版本号上述 3 个元素使用 " : " 英文冒号 隔开 ; 因此 , 在自定义 Gradle 插件模块中
/han1202012/Android_UI 一、设置 Gradle 插件模块 ---- 在 【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ⑦ (...登录 Maven 私服 | Maven 私服初始化设置 | 创建 Maven 仓库 ) 博客中 , 在 Maven 私服中创建了 Maven 仓库 " MyRepository “ , 地址为 ” http...Gradle 插件的版本号 version '0.1' // 自定义 Gradle 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定...在 Gradle 面板中执行该 " publishPluginPublicationToMyRepositoryRepository " 任务 , 就会自动将插件内容上传到创建的 maven...仓库中 ; 上传完成后 , 在 Maven 私服的 Web 界面 , 点击 MyRepository 仓库 , 进入 HTML View 界面 , 此时已经可以看到上传的 jar包 , 文档 ,
/han1202012/Android_UI 一、默认生成的 pom 文件 ---- 在 自定义 Gradle 插件 编译后生成的 pom 文件 , 存放在 " build/publications...Gradle 插件的版本号 version '0.1' // 自定义 Gradle 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定...// 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish' // 自定义源码打包任务 // 自定义 Jar 类型的 Gradle 任务 /.../ 将源码打包到 jar 包中 task sources2Jar(type: Jar) { // 指明要打的 jar 包名称 // 最终打包的名称是 plugin-0.1-sources.jar...} // 配置 工程工件 对应的 jar 包产出 配置 // 这里将 文档打包 和 源码打包 后的 jar 包作为输出 artifacts { archives sources2Jar
Kotlin DSL:主要是指 Android Gradle 插件 Kotlin DSL,有时也指底层 Gradle Kotlin DSL。...在讨论从 Groovy 迁移时,术语“KTS”和“Kotlin DSL”可以互换使用。...所以在KTS中需要统一做到: 使用双引号统一引号. [groovy-kts-diff1.png] 消除函数调用和属性赋值的歧义(分别使用括号和赋值运算符)。...如果插件来自插件门户中不存在的 buildScript 依赖项,那么这些插件在 Kotlin 中就必须使用 apply 才能应用。...,name="splibrary",ext = "aar") 构建变体 显式和隐式 buildTypes 在 Kotlin DSL 中,某些 buildTypes(如 debug 和 release,)
文章目录 一、在 Java or Kotlin Library 模块中定义插件 二、引入自定义 Gradle 插件模块 三、配置自定义 Gradle 插件上传选项 四、配置 Group 分组、插件名称、.../han1202012/Android_UI 一、在 Java or Kotlin Library 模块中定义插件 ---- 在插件模块中的 src/main 目录 下创建 groovy 目录 ,...插件模块 ---- 如果想要引入该插件 , 需要将该插件上传到 远程仓库 或者 本地仓库 中 , 才能通过 在 Android 工程的根目录下的 build.gradle 构建脚本 中使用该 自定义...: 'maven-publish' 然后 , 创建 publishing 扩展 , 在该扩展中 , 可以在其中的 publications 脚本块 中为插件传入参数 ; 注意 : publications..." 是 Group 分组 " gradle " 是 插件名称 " 4.2.1 " 是 插件的版本号 上述 3 个元素使用 " : " 英文冒号 隔开 ; 因此 , 在自定义 Gradle 插件模块中
/han1202012/Android_UI 一、自定义 Gradle 插件发布配置 ---- 在上一篇博客 【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 在模块中定义插件...| 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 ) 中 , 定义完插件后 , 在 自定义 Gradle 插件模块 的 build.gradle 构建脚本中...Gradle 插件的版本号 version '0.1' // 自定义 Gradle 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定...} } } 首次编译执行 , 可以在 自定义 Gradle 插件的 Module 模块 下 , 看到 publishing 分组的 Gradle 任务 , 如下图红色矩形框中的内容...插件 上传到本地 Maven 仓库中 ; 二、Windows 本地 Maven 仓库地址 ---- 在 Windows 系统中 , 本地仓库的目录为 " C:\Users\用户名.m2\repository
Kotlin DSL:主要是指 Android Gradle 插件 Kotlin DSL,有时也指底层 Gradle Kotlin DSL。...在讨论从 Groovy 迁移时,术语“KTS”和“Kotlin DSL”可以互换使用。...所以在KTS中需要统一做到: 使用双引号统一引号. ? groovy-kts-diff1.png 消除函数调用和属性赋值的歧义(分别使用括号和赋值运算符)。 ?...如果插件来自插件门户中不存在的 buildScript 依赖项,那么这些插件在 Kotlin 中就必须使用 apply 才能应用。...="",name="splibrary",ext = "aar") 构建变体 显式和隐式 buildTypes 在 Kotlin DSL 中,某些 buildTypes(如 debug 和 release
文章目录 一、将自定义 Gradle 插件上传到远程仓库中 二、创建自定义插件类型模块 ( Java or Kotlin Library ) 三、手动导入相关依赖 ( Java | Groovy | Gradle...⑦ ( 自定义 Gradle 插件导入方式 | buildSrc 插件导入 | 构建脚本中自定义插件 | 独立文件 ) 中 , 总结了在 Android Studio 工程中 自定义 Gradle 插件...' } 方式 , 在 Module 模块中 , 导入并使用 Android Gradle 插件 ; 这种方式是将 自定义 Gradle 插件 的 jar 包 上传到了 jcenter / google.../ mavenCentral 远程仓库 中 ; 二、创建自定义插件类型模块 ( Java or Kotlin Library ) ---- 选择 " 菜单栏 / New / New Module…..." 选项 , 在 " Create New Module " 对话框中 , 选择 创建 " Java or Kotlin Library " 类型的依赖库 ; 三、手动导入相关依赖 ( Java |
② ( java 和 groovy 插件自带文档任务 | 自定义文档打包任务 | 生成文档包 ) 中 , 分别使用 自定义 Jar 类型 Gradle 任务 将 插件源码 和 插件文档 打包到了 jar...包中 ; artifacts 配置 , 是用于配置 工程工件 对应的 jar 包产出 配置 ; // 配置 工程工件 对应的 jar 包产出 配置 // 这里将 文档打包 和 源码打包 后的 jar...Gradle 插件的版本号 version '0.1' // 自定义 Gradle 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块中 自己指定...// 用于将 插件上传到 远程仓库 或者 本地仓库 中 apply plugin: 'maven-publish' // 自定义源码打包任务 // 自定义 Jar 类型的 Gradle 任务 /...} } } 三、将 Gradle 插件 jar 包、源码、文档上传到本地Maven 仓库 ---- 执行 Gradle 面板中的 publishingPluginPublicationToMavenLocal
有任何问题,欢迎随时与我交流~ ---- 由于 Kotlin 具有丰富的功能,如一等函数和扩展方法等,因此它可以保留和改进 Gradle 构建脚本的最佳部分——包括简明的声明式语法以及轻松制作 DSL...同时,还支持在 IDE 中实现自动完成和编译检查等功能。有了Gradle Script Kotlin,我们可以使用 Kotlin 来写配置文件,就跟写普通代码一样。...例如我们在项目根路径下面的settings.gradle中如下配置: include ':app' 每一个子项目都拥有自己的build.gradle文件来声明自己如何构建。...这里面的 Gradle DSL 的相关函数与类都在 Gradle 软件包的 lib 目录下: lib/gradle-script-kotlin-(版本号).jar 。...在下一章中,我们将学习使用 Kotlin 和 Anko 来进行Android开发的相关内容。
前言 DSL并不是单独为Kotlin语言提供的,可能你并知道DSL是什么,但是我敢说,只要你是Android开发者,你就一定使用过并且一直在使用DSL,那么到底什么是DSL?...DSL的基础用法 接下来,我们来看,Kotlin中如何使用DSL构建自己的语法呢,要想装13 我们当然要来实现和上面一样的语法结构,那我们就来造一个吧~ 首先我们新建一个类Dependency,名字是可以随便起的... is Huanglinqing ,i am 25 years old Process finished with exit code 0 那么,我们如何使用DSL的方式去创建一个User对象呢,首先我们需要提供一个高阶函数...Anko插件 最后我们来简单的介绍下DSL在Kotlin中的一个框架Anko,Anko用Kotlin DSL 写的Android插件,Anko主要的作用是替代以前用XML的方式来生成UI布局。...关于Anko插件如何使用,就不讲解了,感兴趣的可直接到Github上了解:https://github.com/Kotlin/anko 写在最后 DSL的使用场景远远不止这些,其实前提就是使用好高阶函数
你在Kotlin DSL脚本中读到的所有东西都是由Gradle编译和执行的Kotlin代码。你在构建脚本中使用的许多对象、函数和属性都来自于Gradle API和应用插件的API。...DSL包中的所有类型 避免使用内部Kotlin DSL api 在插件和构建脚本中使用内部Kotlin DSL api可能会在Gradle或插件发生变化时破坏构建。...使用Gradle插件一章解释了如何在根项目构建脚本中声明一个版本的插件,然后将它们应用到相应子项目的构建脚本中。下面是一个使用三个子项目和三个插件的方法示例。...随着语言的成熟,这将不再是一个问题 Kotlin的编译器参数 这些是在一个应用了Kotlin – DSL插件的项目中编译Kotlin DSL脚本和Kotlin源代码和脚本时使用的Kotlin编译器参数:...互用性 在构建逻辑中混合语言时,可能需要跨越语言边界。一个极端的例子是使用Java、Groovy和Kotlin实现的任务和插件的构建,同时也使用Kotlin DSL和Groovy DSL构建脚本。
为什么使用Gradle: 简单易学:Gradle使用简单明了的DSL语言,易于学习和使用。 高度灵活:Gradle可以根据项目需要定制各种不同的构建流程。...如何使用: 安装Gradle 下载并安装Gradle:https://gradle.org/install/ 创建Gradle项目 在命令行中输入以下命令,创建一个新的Gradle项目: gradle...任务 在命令行中输入以下命令,执行Gradle任务: gradle [task name] 例如,以下命令将编译Java源代码并生成可执行的JAR文件: gradle build 如何集成: Gradle...以IntelliJ IDEA为例,步骤如下: 在IntelliJ IDEA中打开Gradle项目。 在左侧菜单栏中点击“Gradle”选项卡。 在Gradle面板中选择需要执行的任务。...Gradle VS Maven 首先,Maven使用XML来配置项目,而Gradle使用Groovy或Kotlin等DSL(领域特定语言)来定义构建脚本。
Gradle 会解析 build.gradle 文件中的 android DSL 块并创建 AGP DSL 对象,例如 ApplicationExtension 和 BuildType。...在模块层的 build.gradle 文件中,我需要声明和应用构建项目所需的插件。...这两个插件分别定义了如何配置和构建 Android 应用和依赖库。在本例中,我要构建的是 Android 应用项目,所以我需要应用 com.android.application 插件。...由于我需要使用 Kotlin,所以在示例中也应用了 kotlin.android 插件。...下篇文章中,在编写我们自己的插件时,我们将深入剖析这些阶段。 Gradle DSL 支持使用 Groovy 与 Kotlin 脚本编写构建文件。
在这个早期的 demo 版本里,你可以尝试一下,我们在 ArchGuard 中构建的架构即代码的理念,以及如何围绕于一个系统构建出一个工作台?...DSL 语法:Antlr vs Kotlin DSL 在 ArchGuard 中,主要使用的是 Antlr 框架来进行不同语言的语法解析(即 Chapi)。...因此,使用 Antlr 来设计一个新的 DSL 及其编译器前端,对于我们而言,并不存在技术上的挑战。甚至于,在以往的经历中,我们也有大型 IDEA 插件架构设计与开发的经历。...即,它可以同时满足两类人的需求,使用 Markdown 和不使用 Markdown,他们能都从编辑器上获得自己的鼠标(markdown)和键盘(富文本)。...详细见:Spring Gradle 插件文档:《Spring Boot Gradle Plugin Reference Guide》,只是对应的解释说明:必须从 fat jars 中解压才能运行的库列表
在这篇文章里,我将带你探讨 Gradle 插件的使用方法、开发步骤和技巧总结。...这里区分本地依赖和远程依赖两种情况。 本地依赖: 指直接依赖本地插件源码,一般在调试插件的阶段是使用本地依赖的方式。...: 在需要使用插件的 .gradle 脚本中使用 apply 应用插件,这将创建一个新的 Plugin 实例,并执行 Plugin#apply() 方法。...命名 DSL 在 Android 工程中,你一定在 build.gradle 文件中见过以下配置: build.gradle android { buildTypes { release...现在的趋势是:Gradle 脚本使用 Groovy 或 Kotlin 开发,而 Gradle 插件使用 Kotlin 开发。例如,我们可以发现 AGP 现在已经用 Kotlin 开发了。
Ktor 是一个由 Kotlin 团队打造的 Web 框架,可用于创建异步、高性能和轻量级的 Web 服务器,并使用 Kotlin 惯用的 API 构建非阻塞的多平台 Web 客户端。...配置文件 作为 Web 服务器中的 Servlet 在测试中使用 withTestApplication 来启动 Ktor 应用 2.1 Gradle 配置 Ktor Kotlin 的版本需要 1.3...我们以 fat jar 为例,使用 gradle 的 shadow 插件可以方便地打包 Ktor 的应用。...在项目根目录下的 build.gradle 中添加 shadow 插件的依赖: buildscript { repositories { jcenter() mavenCentral......... } } 然后在需要打包的 module 中添加 shadow 插件和输出 jar 包名称以及 jar 包的入口 Main 函数: plugins { id 'java'
,在Gradle 5.0中Kotlin DSL正式版终于现身了,这意味着我们可以在生产项目中使用Kotlin DSL了。...如果想要使用Kotlin DSL,但是还是不太熟悉Kotlin DSL的语法也没有关系,Gradle官方早就写了一大堆示例项目,相信你看完以后肯定就了解如何使用了。连接在这里。 ?...Gradle构建初始化功能 gradle init任务现在增加了一些很实用的功能: 交互模式,初始化的时候可以在交互模式中输入信息; Kotlin类库和程序,现在可以在初始化的时候生成Kotlin类库和程序类型...配置项目和代码包名,现在init任务提供了参数来设置项目和源代码的包名; 创建资源文件夹,现在init任务还会创建空的resource文件夹; 创建.gitignore文件。...官方文档有一个很长的列表,这里只简单列出一部分: 之前在4.0中提升的特性 并行任务执行 持续构建 组合构建 java-gradle-plugin插件 distribution插件 jacoco插件 更新日志还有很多地方我没有介绍
buildSrc 实践 描述下操作步骤: 在项目根目录下创建 buildSrc 目录,随后新建 build.gradle.kts 文件; 创建 src 目录,以及对应管理版本文件; 替换直接使用原有依赖...build.gradle.kts 内容如下: // 导入 Kotlin 插件 import org.gradle.kotlin.dsl....`kotlin-dsl` plugins { `kotlin-dsl` } repositories { jcenter() } /** * 禁用测试报告(Gradle 默认会自动创建测试报告...:${Versions.kotlinxCoroutines}" // ... } 举个两个栗子,如何使用: 根目录下 build 如何使用: 直接通过在 Dependencies 文件中定义的分组名去获取对应的属性即可...Step 1:在项目根目录下创建 buildSrc 目录 Step 2:新建 version.gradle 依赖/插件管理 大佬在日志中以及写的很明确了,这里我单独说下我期间遇到的坑,或者是重点吧,让看到此文的小伙伴更快的上手
领取专属 10元无门槛券
手把手带您无忧上云