Android Gradle 插件Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Gradle 插件Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )相关的知识,希望对你有一定的参考价值。

文章目录

Android Plugin DSL Reference 参考文档 :





一、BuildListener 构建监听器



org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html

org.gradle.api.initialization.Settings 配置 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/initialization/Settings.html

org.gradle.api.invocation.Gradle 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html

org.gradle.BuildListener 构建监听器 文档 : https://docs.gradle.org/current/javadoc/org/gradle/BuildListener.html


调用 Gradle#addBuildListenerGradle#addListener 函数 , 可设置 BuildListener 监听器 ;

BuildListener 监听器原型如下 :

@EventScope(Build.class)
public interface BuildListener 
    /** @deprecated */
    @Deprecated
    void buildStarted(Gradle var1);

    @Incubating
    default void beforeSettings(Settings settings) 
    

    void settingsEvaluated(Settings var1);

    void projectsLoaded(Gradle var1);

    void projectsEvaluated(Gradle var1);

    void buildFinished(BuildResult var1);

文档地址 : https://docs.gradle.org/current/javadoc/org/gradle/BuildListener.html


代码示例 :

gradle.addBuildListener(new BuildListener() 
    @Override
    void buildStarted(Gradle gradle) 
        // 构建开始时回调该函数
    

    @Override
    void settingsEvaluated(Settings settings) 
        // 分析 settings.gradle 函数完成后回调该函数
    

    @Override
    void projectsLoaded(Gradle gradle) 
        // 工程加载完毕回调
    

    @Override
    void projectsEvaluated(Gradle gradle) 
		// 工程分析完毕回调 
    

    @Override
    void buildFinished(BuildResult buildResult) 
        // 构建完成时回调的函数
    
)




二、TaskExecutionGraphListener 任务执行图监听器



org.gradle.execution.TaskExecutionGraphListener 构建监听器 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/execution/TaskExecutionGraphListener.html


调用 Gradle#addListener 函数 , 可设置 TaskExecutionGraphListener 任务执行图监听器 ;

Gradle 任务执行图 确定后 ,

TaskExecutionGraphListener 监听器原型如下 :

@EventScope(Build.class)
public interface TaskExecutionGraphListener 
    void graphpopulated(TaskExecutionGraph var1);


TaskExecutionGraphListener#graphPopulated 函数 :

void graphPopulated​(TaskExecutionGraph graph)
This method is called when the TaskExecutionGraph has been populated, and before any tasks are executed.TaskExecutionGraph已填充并且在执行任何任务之前调用此方法。

Parameters:
graph - The graph. Never null.
        任务图 . 不可为空 .

代码示例 : 调用 TaskExecutionGraph 任务执行图的 List<Task> getAllTasks(); 函数 , 可以获取到所有的 Gradle 任务 ;

// Gradle 任务执行图监听器
gradle.addListener(new TaskExecutionGraphListener() 
    @Override
    void graphPopulated(TaskExecutionGraph taskExecutionGraph) 
        println taskExecutionGraph.allTasks
    
)

以上是关于Android Gradle 插件Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★

Android Gradle 插件Gradle 构建机制 ⑤ ( 在 Android Studio 中查看 Android Gradle 插件源码 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ② ( buildSrc 目录中实现 Gradle 插件 | 实现 Gradle 插件代码 | 模块引入插件并编译 )

Android Gradle 插件Android Module 模块 build.gradle 构建脚本 Groovy 语法分析 ① ( Gradle 二进制插件引入 | Gradle依赖配置 )

Android Gradle 插件Android Module 模块 build.gradle 构建脚本 Groovy 语法分析 ① ( Gradle 二进制插件引入 | Gradle依赖配置 )

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