编译打包流程任务编排

【编译打包流程任务编排】hvigor的流程是否能讲下,如何添加自定义任务?

HarmonyOS
2024-06-07 16:59:57
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
走在河边捡到鱼

开发者编写“Hvigor任务流自定义插件”,在插件中自定义任务,并将任务插装进Hvigor任务流。Hvigor任务执行过程中,在对应任务节点执行开发者的自定义任务。

开发步骤

1. 打开模块级hvigorfile.ts文件。

2. 使用pluginContext的registerTask方法注册自定义任务,开发者可以在run方法内编写自定义任务。开发者可以使用taskContext实例的两个字段moduleName/modulePath,获取当前模块的名称或路径。

3. 以在“default@BuildJS”和“default@CompileArkTS”任务中间插入两个自定义任务为例,hvigorfile.ts示例代码如下:

import { hapTasks } from ‘@ohos/hvigor-ohos-plugin’;
export function customPluginFunction1(str?: string) {
return {
pluginId: ‘CustomPluginID1’,
apply(pluginContext) {
pluginContext.registerTask({
// 编写自定义任务
name: ‘customTask1’,
run: (taskContext) => {
console.log('customTask1: ',taskContext.moduleName, taskContext.modulePath);},
// 确认自定义任务插入位置
dependencies: [‘default@BuildJS’],
postDependencies: [‘default@CompileArkTS’]})}}}
export function customPluginFunction2(str?: string) {
return {
pluginId: ‘CustomPluginID2’,
apply(pluginContext) {
pluginContext.registerTask({
name: ‘customTask2’,
run: (taskContext) => {
console.log('customTask2: ',taskContext.moduleName, taskContext.modulePath);},
dependencies: [‘default@BuildJS’],
postDependencies: [‘default@CompileArkTS’]})}}}
export default {system: hapTasks,
// Hvigor内置插件,不可修改
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

plugins: [customPluginFunction1(), customPluginFunction2()] // 自定义插件}Hvigor任务可使用如下命令进行查看:

./hvigorw taskTree
  • 1.
分享
微博
QQ
微信
回复
2024-06-07 22:42:01
相关问题
RN项目HarmonyOS化打包流程
424浏览 • 1回复 待解决
HarmonyOS 编译打包
619浏览 • 1回复 待解决
HarmonyOS App编译打包相关
609浏览 • 1回复 待解决
编译打包的签名怎么管理
2269浏览 • 1回复 待解决
编译构建怎么编写自定义任务
1086浏览 • 1回复 待解决
自定义hvigor任务,定制编译产物
1858浏览 • 1回复 待解决
hap包如何通过编译工具打包成app?
769浏览 • 1回复 待解决
Hvigor自定义编译任务如何引用三方库
1812浏览 • 1回复 待解决
HarmonyOS 上架流程
591浏览 • 1回复 待解决
HarmonyOS 上架流程
787浏览 • 0回复 待解决
Xcomponent绘图流程分析
2144浏览 • 1回复 待解决
HarmonyOS 包签名流程
706浏览 • 1回复 待解决