Gradle —— 添加自定义 Property

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle —— 添加自定义 Property相关的知识,希望对你有一定的参考价值。

参考技术A

build.gradle 文件中向 Project 添加额外的 Property 时,我们不能添加,而只能通过 ext 来定义。事实上,任何实现了 ExtensionAware 接口的 Gradle 对象都可以通过这种方式来添加额外的 Property ,比如 Task 也实现了该接口。

执行 gradle showCommandLieProperties 时,终端输出如下:

提示我们 property3 没有被定义。我们通过 -P 选项传入参数: gradle -Pproperty3="this is property3" showCommandLieProperties

上面是 -P 通过 Gradle 来设置,我们同样可以用 -D 来通过 JVM 系统参数传参,不过这种方式设置的属性名要写全限定名: gradle -Dorg.gradle.project.property3="this is property3" showCommandLieProperties

Android Gradle 插件自定义 Gradle 任务 ④ ( Task#doLast 函数用法 | 自定义 Gradle 任务代码示例 )

文章目录

Android Plugin DSL Reference 参考文档 :





一、Task#doLast 函数用法



org.gradle.api.Task 配置 ( Gradle 任务类型 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html


在自定义 Gradle 任务中 , 可以实现 Task 接口的 doLast 函数 , 其作用是在 任务执行后 最后执行的内容 , 任务中可以执行多个 Task#doLast 函数 , 按照先后顺序执行 , 先定义的先执行 , 后定义的后执行 ;


Task#doLast 函数原型如下 :

Task doLast​(Closure action)

Adds the given closure to the end of this task's action list. 
The closure is passed this task as a parameter when executed.
将给定的闭包添加到此任务的操作列表的末尾。
闭包在执行时作为参数传递给此任务。

Parameters:
action - The action closure to execute.
         要执行的操作闭包。
Returns:
This task.

文档位置 : https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html#doLast-groovy.lang.Closure-





二、自定义 Gradle 任务代码示例



代码示例 :

task Hello 
    doFirst 
        // 调用 Hello 任务时 , 先调用该闭包内容
        println 'doFirst'
    
    doFirst 
        // 调用 Hello 任务时 , 先调用该闭包内容
        println 'doFirst2'
    

    // 任务主体内容
    println 'Hello World!'

    doLast 
        // 调用 Hello 任务结束时 , 最后调用该闭包内容
        println 'doLast'
    
    doLast 
        // 调用 Hello 任务结束时 , 最后调用该闭包内容
        println 'doLast2'
    

执行结果 : 在 Terminal 面板中 , 执行

gradlew Hello

命令 , 最终的执行结果如下 :

以上是关于Gradle —— 添加自定义 Property的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件自定义 Gradle 任务 ⑤ ( 为自定义 Gradle 任务添加依赖任务 | Gradle 任务依赖执行顺序控制 )

Gradle学习系列之一——Gradle快速入门

Android Gradle 插件Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ⑦ ( 自定义 Gradle 插件导入方式 | buildSrc 插件导入 | 构建脚本中自定义插件 | 独立文件 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ⑦ ( 自定义 Gradle 插件导入方式 | buildSrc 插件导入 | 构建脚本中自定义插件 | 独立文件 )

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