首页
学习
活动
专区
工具
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包: ?

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

    Gradle 深度刨析

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

    85110

    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 文件中的属性会自动在项目运行时加载 ## 设置此参数主要是编译下载包会占用大量的内存,可能会内存溢出

    37020

    【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

    59610

    【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.8K20

    Gradle 进阶学习之 Gradle插件

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

    44310

    【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!'

    73220

    速读原著-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 对象。

    2K10

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

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

    84630

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

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

    86520

    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 name: name属性唯一的描述了这个依赖,例如上面的

    89820

    【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!'

    3K20

    【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 分析完成之后才能进行 , 否则获取不到

    99630

    【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

    80720

    springBoot+gradle构建多模块项目

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

    6.4K30
    领券