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

Gradle初体验

Groovy特点: Groovy完全兼容Java语法 分号是可选 类、方法默认是public 编译器给属性自动添加getter/setter方法 属性可以直接用点号获取 最后一个表达式值会被作为返回值...项目(project)主要三个属性分别是group、name、version,就好比于maven中groupId、artifactId、version,是作为组件坐标存在 项目(project...---- 使用Gradle项目打包 本小节我们来使用Gradle项目打包jar包,首先按上一小节所演示,新建一个Gradle项目,默认IDEA会帮我们生成构建脚本,即项目根目录下build.gradle...---- 同样,我们可以使用Gradle项目打包war包,只需要在构建脚本中,增加打war插件即可: plugins { id 'java' id 'war' } 这时Gradle...控制台,就会多出一个war插件,点击这个war,即可将项目打成war包: ?

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

Gradle 深度刨析

Project org.gradle.api.Project 是主要Gradle 构建文件交换接口,提供了 Gralde 所有特征编程访问方式(例如tTask创建以及依赖管理)。...在构建初始化时,Gradle 每个参与到构建过程项目都创建了一个 Project 对象,操作如下: 构建过程创建一个org.gradle.api.initialization.Settings实例...例如,您可以使用project.name来访问该项目的名称。 一个项目有 6个属性 “范围”用于搜索属性。...例如,调用任务compile可作为compile 属性访问。 继承自项目父级额外属性和惯例属性,递归到根项目。此作用域属性只读。...插件可以通过项目的Convention对象向项目添加属性和方法。 5. 项目的任务。每个任务添加一个方法,使用任务名称作为方法名称并获取单个闭包或Action参数。

81910

Gradle基础操作一

= collection as List// 把文件集合转换为java中List类型 for (item in list) { println item.name } def union = collection...我们希望把项目打包成一个 WAR,ZIP 或 TAR 包进行发布,这时我们就可以使用 Zip,Tar,Jar,War 和Ear 任务来实现,不过它们用法都一样,所以在这里我只介绍Zip 任务示例。...可以添加依赖配置到项目中。 可以向项目中拓展新扩展属性、方法等。...extCustomProperty 注意: **ext 配置是用户自定义属性,而gradle.properties 中一般定义 系统属性、环境变量、项目属性、JVM 相关配置信息。...**例如:gradle.properties 文件案例:加快构建速度gradle.properties 文件中属性会自动在项目运行时加载 ## 设置此参数主要是编译下载包会占用大量内存,可能会内存溢出

31420

【Android Gradle 插件】自定义 Gradle 任务 ③ ( Gradle 自定义任务创建方法 Project#task 函数 | Task#doFirst 函数用法 )

插件配置与 Gradle 配置关联 : 【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与.../current/javadoc/org/gradle/api/Task.html 在 build.gradle 中自定义 Gradle 任务调用org.gradle.api.Project 中...创建具有给定名称Task并将其添加到此项目。 在返回任务之前,将执行给定闭包来配置任务。...See here for more details 将任务添加到项目中后,它将作为项目属性可用, 以便可以在构建文件中按名称引用任务。...- 由以上返回值可知 , 创建任务对象是 Task 接口类型 , 该接口类文档如下 : org.gradle.api.Task 配置 ( Gradle 任务类型 ) 文档 : https://docs.gradle.org

52910

【Android Gradle 插件】Gradle 自定义 Plugin 插件 ④ ( 自定义 Gradle 插件扩展配置扩展 | 在自定义插件中获取扩展属性 )

文章目录 一、Android Gradle 插件扩展扩展 二、自定义 Gradle 插件扩展配置扩展 并 获取扩展属性 Android Plugin DSL Reference 参考文档 : Android...Extension 扩展 中 , 再 定义一层 Extension 扩展 ; 二、自定义 Gradle 插件扩展配置扩展 并 获取扩展属性 ---- 定义扩展类 : class MyPluginExtensions...} 声明扩展 和 扩展扩展 : 通过调用 project.扩展名.扩展属性获取在构建脚本中配置 扩展属性 , 通过调用 project.扩展名.扩展扩展名.扩展属性获取在构建脚本中配置...扩展属性 扩展属性 ; import org.gradle.api.Plugin import org.gradle.api.Project class MyPlugin implements...插件扩展属性 , 必须在 Gradle 分析完成之后才能进行 , 否则获取不到 project.afterEvaluate { println project.myplugin.name

2K10

【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑤ ( 自定义插件中获定义方法 | 在插件中创建 Gradle 任务 | 代码示例 )

插件配置与 Gradle 配置关联 : 【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与.../2.3/com.android.build.gradle.LibraryExtension.html org.gradle.api.Project 配置 ( build.gradle 根配置 )...", MyPluginExtensionsExtensions) // 获取 自定义 Gradle 插件扩展属性 , 必须在 Gradle 分析完成之后才能进行 , 否则获取不到...", MyPluginExtensionsExtensions) // 获取 自定义 Gradle 插件扩展属性 , 必须在 Gradle 分析完成之后才能进行 , 否则获取不到..., 其中变量对所有子项目可见 /*ext { hello3 = 'Hello World1!

1.6K20

Gradle 进阶学习之 Gradle插件

扩展项目属性和方法 扩展属性:插件可以向项目添加新属性,这些属性可以用于控制构建过程或存储配置信息。...3.2.1 内部插件[核心插件] Gradle 提供了一系列核心插件,这些插件覆盖了多种常见构建需求,包括但不限于: Java:支持构建任何类型 Java 项目。...Application:支持构建基于 JVM 可运行应用程序。 WAR:支持构建和打包基于 WAR Java Web 应用程序。...这些插件可以用于单个项目,也可以被设计可重用和可共享。 1. 示例 /** * GreetingPluginExtension 接口定义了问候插件扩展属性。...// maven { // name = 'myRepo' //name属性可选,表示仓库名称,url必填 // //发布地址:可以是本地仓库或者maven私服 //

10110

【Android Gradle 插件】Gradle 扩展属性 ① ( Gradle 扩展属性简介 | Gradle 自定义 task 任务示例 )

扩展属性简介 ---- org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc.../org/gradle/api/Project.html Android 工程中 build.gradle 构建脚本 , 在编译时会被自动转为 org.gradle.api.Project 类 , 在...在 Groovy 中定义扩展属性代码如下 : 扩展属性是全局变量 , 对所有子项目可见 ; // 定义扩展属性 , 其中变量对所有子项目可见 ext { hello1 = 'Hello World1...// 定义扩展属性 , 其中变量对所有子项目可见 ext { hello1 = 'Hello World1!' hello2 = 'Hello World2!'...// 定义扩展属性 , 其中变量对所有子项目可见 ext { hello1 = 'Hello World1!' hello2 = 'Hello World2!'

67620

速读原著-Gradle 在大型 Java 项目应用

在我项目中使用如下配置: configure(subprojects.findAll {it.name.contains('war')}) { apply plugin: 'war' } configure...例如我定义了这样一个方法,它可以从命令行中获取属性,若没有提供该属性,则使用默认值: def defaultProperty(propertyName, defaultValue) { return...通过如下方式构建脚本指定依赖: ? 这里分别指定group、name 以及 version,但是Gradle 提供了一种更简单方式来指定依赖: ?...Gradle Project 对象定义了一些属性指向项目的根目录,方便在脚本中引用。 rootDir:在子项目的脚本文件中可以通过该属性访问到根项目路径。...rootProject:在子项目中,可以通过该属性获取项目的Project 对象。

1.9K10

Gradle 与 AGP 构建 API: 如何编写插件

我会创建一个新文件夹,并将其命名为 buildSrc。接下来,我插件项目创建了一个 build.gradle.kts 文件,这样 Gradle 就会自动将此文件夹添加至构建。...这是项目根文件夹中顶层目录。注意,我并不需要在我项目中将其添加为模块。Gradle 会自动编译目录中代码,并将其加入到您构建脚本 classpath 中。...name}\" from task!") } } 现在,我 Task 已经就绪。我会创建一个新插件类,这需要实现 Plugin 类型并覆盖 apply() 函数。...我将创建一个新构建类型并且设置它属性。...hostName"] = "example.com" buildType.applicationIdSuffix = ".debugStaging" } } 注意,在此阶段中,我可以创建或注册新构建类型并设置它们属性

79030

Gradle 构建脚本

项目的概念比较抽象,你可以创建一个 Project 用于生成一个 jar,也可以定义个项目用于生成 war 包,还可以定义一个项目用于发布上传你 war等。...实际上,build.gradle 中几乎所有的顶级属性和代码块都是 Project 类 API, 下面通过访问 Project.name 属性验证一下。...名字 类型 默认值 project Project Project 实例 name String 项目名字 path String 项目的绝对路径 description String 项目描述 projectDir...;所以才能使用任务名字引用一些API,例如任务添加额外属性。...依赖属性分为三部分 group: 这个属性用来标识一个组织、公司或者项目,可以用点号分隔,例如上面的 io.reactivex.rxjava2 namename属性唯一描述了这个依赖,例如上面的

86020

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

tasks , 其包含了所有的 Gradle 任务 , 调用 TaskContainer 任务容器 create 函数 , 创建一个 MyTask 任务 , 传入第一个参数是任务名称 , 第二个参数是任务类型...使用给定名称和类型创建Task,并将其添加到此容器中。...添加任务后,它将作为项目属性提供,以便您可以在生成文件中按名称引用该任务。...如果此项目中已存在具有给定名称任务。...任务 可以调用该任务容器 create 方法创建一个 MyTask 任务 传入第一个参数是任务名称 , 第二个参数是任务类型 */ tasks.create('myTask',

73820

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

文章目录 一、定义在根目录 build.gradle扩展属性 二、扩展属性示例 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...中扩展属性 ---- org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc...都可以获取到该扩展属性值 ; 在 Module 下 build.gradle 中可以使用 rootProject.扩展属性名 来访问定义在根目录中 build.gradle 中定义扩展属性值 ;...二、扩展属性示例 ---- 在根目录下 build.gradle 中定义扩展属性 : // 定义扩展属性 , 其中变量对所有子项目可见 ext { hello1 = 'Hello World1..., 其中变量对所有子项目可见 ext { hello1 = 'Hello World1!'

2.9K20

【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑥ ( 在 buildSrc 模块中依赖 Android Gradle 插件 | 完整代码示例 )

插件配置与 Gradle 配置关联 : 【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与...之后 , 可以在 buildSrc 模块中调用 Android Gradle 模块中 API ; // 获取 自定义 Gradle 插件扩展属性 , 必须在 Gradle 分析完成之后才能进行..., 否则获取不到 project.afterEvaluate { // 获取 Android Gradle 一系列配置 project.android.applicationVariants.all..., 获取 Project 下 android 配置块 applicationVariants 配置内容 ; 执行结果如下 : project.android.applicationVariants...", MyPluginExtensionsExtensions) // 获取 自定义 Gradle 插件扩展属性 , 必须在 Gradle 分析完成之后才能进行 , 否则获取不到

89030

springBoot+gradle构建多模块项目

创建Gradle项目 按照文首链接先创建单模块项目,此时唯一不同项目名称本文用是qycms。...配置settings文件 提示:若先配置settings文件无法触发自动构建,请先执行下一步“修改根目录 build.gradle”,之后保存就会自动执行。...来到此处即代表你已经构建好一个单模块项目了。若想构建一个多模块项目,则需要配置settings.gradle文件以描述模块(项目)关系。...system-provider系统级项目的业务逻辑,system-console系统级项目的api所在Controller层。...配置buildscript 这是定义扩展属性(给脚本用脚本) //定义扩展属性(给脚本用脚本) buildscript { //定义扩展属性(可选) ext {

6.2K30

【Android Gradle 插件】Gradle 扩展属性 ③ ( 任意对象设置扩展属性 | 扩展属性定义方式 )

扩展属性 ---- 在之前博客 【Android Gradle 插件】Gradle 扩展属性 ① ( Gradle 扩展属性简介 | Gradle 自定义 task 任务示例 ) 【Android...Gradle 插件】Gradle 扩展属性 ② ( 定义在根目录 build.gradle扩展属性 | 使用 rootProject.扩展属性名访问 | 扩展属性示例 ) 中 , 直接在 build.gradle...构建脚本 中定义 扩展属性 , 是 org.gradle.api.Project 对象定义扩展属性 ; 二、扩展属性定义方式 ---- 在 build.gradle 构建脚本 中 , 可以为任何对象都可以声明..., 其中变量对所有子项目可见 ext { hello3 = 'Hello World1!... android 对象定义 扩展属性 , 可以在配置块外使用 android.ext.扩展属性名称 方式定义 ; // 上面的 android 对象声明扩展属性 hello3 android.ext.hello3

77920
领券