鸿蒙开发Hvigor任务简介

编译构建工具DevEco Hvigor(以下简称Hvigor)是一款基于TS实现的构建任务编排工具,主要提供任务管理机制,包括任务注册编排、工程模型管理、配置管理等关键能力,提供专用于构建和测试应用的流程和可配置设置。

DevEco Studio使用构建工具Hvigor来自动执行和管理构建流程,实现应用/服务构建任务流的执行,完成HAP/APP的构建打包。

Hvigor可独立于DevEco Studio运行,这意味着,你可以在DevEco Studio内、命令行工具或是集成服务器上构建应用。无论您从命令行工具或是DevEco Studio上构建项目,构建过程的输出都将相同。

了解任务

任务是Hvigor构建过程中的执行基本单元,任务中通常包含一段编译过程处理的可执行代码;一个任务可以依赖其他多个任务。Hvigor任务调度执行时通过解析依赖关系确定任务执行时序。

UP-TO-DATE

任务标识,表示任务未实际执行。Hvigor任务增量跳过机制,在二次执行任务时检测任务输入输出条件未发生变化,则任务跳过执行提高构建效率。例如

hvigor UP-TO-DATE ::PackageApp...

Finished

任务执行完成标识,表示任务已执行完成。例如

hvigor Finished ::PackageApp... after 310 ms

注册任务

使用HvigorNode节点对象注册任务。

  1. 编辑工程下hvigorfile.ts文件。
ts 复制代码
// 导入模块
import { getNode, HvigorNode, HvigorTask } from '@ohos/hvigor';
  1. 编写任务代码。
ts 复制代码
// 获取当前hvigorNode节点对象
const node: HvigorNode = getNode(__filename);

// 注册Task
node.registerTask({
    name: 'customTask',
    run() {
        console.log('this is Task');
    }
});
  1. 执行任务。
    使用hvigor命令行工具执行任务。例如

hvigorw customTask

  1. 查看任务执行结果。

    PS D:\SDAutoTestRunInfo\AppDemo\MyApplication > hvigorw customTask
    this is Task

    hvigor Finished :: customTask... after 2 ms
    hvigor BUILD SUCCESSFUL in 2 s 211 ms