前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android Gradle 插件】Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )

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

作者头像
韩曙亮
发布2023-03-30 17:11:37
4250
发布2023-03-30 17:11:37
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

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#addBuildListener 或 Gradle#addListener 函数 , 可设置 BuildListener 监听器 ;

BuildListener 监听器原型如下 :

代码语言:javascript
复制
@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

代码示例 :

代码语言:javascript
复制
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 监听器原型如下 :

代码语言:javascript
复制
@EventScope(Build.class)
public interface TaskExecutionGraphListener {
    void graphPopulated(TaskExecutionGraph var1);
}

TaskExecutionGraphListener#graphPopulated 函数 :

代码语言:javascript
复制
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 任务 ;

代码语言:javascript
复制
// Gradle 任务执行图监听器
gradle.addListener(new TaskExecutionGraphListener() {
    @Override
    void graphPopulated(TaskExecutionGraph taskExecutionGraph) {
        println taskExecutionGraph.allTasks
    }
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、BuildListener 构建监听器
  • 二、TaskExecutionGraphListener 任务执行图监听器
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档