鴻蒙開發Hvigor任務簡介

龙儿筝發表於2024-11-19

編譯構建工具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檔案。
// 匯入模組
import { getNode, HvigorNode, HvigorTask } from '@ohos/hvigor';
  1. 編寫任務程式碼。
// 獲取當前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

相關文章