From 17b07903038a8e127c9860b144c048a776df7461 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Wed, 3 Sep 2025 13:17:17 +0300 Subject: [PATCH 1/5] Better demo2 task Signed-off-by: Nikolay Igotti --- ui2abc/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui2abc/package.json b/ui2abc/package.json index f6348d6c8..eecb367bc 100644 --- a/ui2abc/package.json +++ b/ui2abc/package.json @@ -46,7 +46,7 @@ "test:all": "npm run build:all --prefix ../incremental/harness && npm run test:light --prefix libarkts && npm run demo:run:light --prefix memo-plugin-ng && npm run test:all --prefix memo-plugin-ng", "all": "npm run clean:all && npm run build:all && npm run test:all", "demo": "LD_LIBRARY_PATH=../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/ets2panda/lib node ../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/driver/build-system/dist/entry.js ./build_config.json", - "demo2": "LD_LIBRARY_PATH=../incremental/tools/panda/node_modules/@panda/sdk/linux_host_tools/lib node ../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/driver/build-system/dist/entry.js ./build_config.json" + "demo2": "export KOALA_WRAPPER_PATH=`pwd`/libarkts/lib/libarkts && npm run compile:rollup -C arkui-plugins && LD_LIBRARY_PATH=../incremental/tools/panda/node_modules/@panda/sdk/linux_host_tools/lib node ../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/driver/build-system/dist/entry.js ./build_config.json" } } -- Gitee From 5aa3c33893279017f621884d57b39dbd2a31147a Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Wed, 3 Sep 2025 13:45:29 +0300 Subject: [PATCH 2/5] Panda SDK path Signed-off-by: Nikolay Igotti --- ui2abc/build_config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ui2abc/build_config.json b/ui2abc/build_config.json index 6f2950b82..33c9b45ef 100644 --- a/ui2abc/build_config.json +++ b/ui2abc/build_config.json @@ -25,6 +25,7 @@ "cachePath": "./dist/cache", "buildSdkPath": "../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/", + "pandaSdkPath": "../incremental/tools/panda/node_modules/@panda/sdk/linux_host_tools", "dependentModuleList": [] } -- Gitee From 193f8d4337052accc41ecbb7ef77f103a7a78a9d Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Wed, 3 Sep 2025 18:29:34 +0300 Subject: [PATCH 3/5] Now HQ plugins can run Signed-off-by: Nikolay Igotti --- ui2abc/arkui-plugins/common/debug.ts | 2 +- ui2abc/arkui-plugins/common/program-visitor.ts | 6 +++--- ui2abc/arkui-plugins/ui-plugins/component-transformer.ts | 3 ++- ui2abc/build_config.json | 9 +++++++-- ui2abc/demo/localtest/entry/new.ets | 3 ++- ui2abc/libarkts/src/arkts-api/visitor.ts | 2 ++ 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/ui2abc/arkui-plugins/common/debug.ts b/ui2abc/arkui-plugins/common/debug.ts index 68019981a..c4ed715ad 100644 --- a/ui2abc/arkui-plugins/common/debug.ts +++ b/ui2abc/arkui-plugins/common/debug.ts @@ -49,7 +49,7 @@ export function debugDumpAstNode( programFileName: string): void { if (!isDebugDump) { return; - } + } const currentDirectory = process.cwd(); const modifiedFileName = programFileName.replaceAll('.', '_'); const outputDir: string = cachePath diff --git a/ui2abc/arkui-plugins/common/program-visitor.ts b/ui2abc/arkui-plugins/common/program-visitor.ts index 5255e60f1..9d838c9e9 100644 --- a/ui2abc/arkui-plugins/common/program-visitor.ts +++ b/ui2abc/arkui-plugins/common/program-visitor.ts @@ -269,7 +269,7 @@ export class ProgramVisitor extends AbstractVisitor { if (this.legacyStructMap.size > 0 && transformer instanceof ComponentTransformer) { transformer.registerMap(this.legacyStructMap); } - this.visitTransformer(transformer, script, externalSourceName, program); + script = this.visitTransformer(transformer, script, externalSourceName, program); transformer.reset(); if (!transformer.isExternal) { debugDumpAstNode( @@ -285,7 +285,7 @@ export class ProgramVisitor extends AbstractVisitor { // post-run visitors hook = isExternal ? this.hooks?.external : this.hooks?.source; this.postVisitor(hook, node, program, externalSourceName); - return script; + return script } private visitorLegacy(node: arkts.AstNode, program?: arkts.Program, externalSourceName?: string): string[] { @@ -318,7 +318,7 @@ export class ProgramVisitor extends AbstractVisitor { export class CanSkipPhasesCache { static resultCache = new Map() - + static check(program: arkts.Program) { if (!CanSkipPhasesCache.resultCache.has(program)) { const result = arkts.global.es2panda._ProgramCanSkipPhases(arkts.global.context, program.peer); diff --git a/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts b/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts index 86c7bdadc..bc7c737de 100644 --- a/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts +++ b/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts @@ -235,7 +235,8 @@ export class ComponentTransformer extends AbstractVisitor { } if (updateStatements.length > 0 || this.imports.length > 0) { - return arkts.factory.updateETSModule(node, [...this.imports, ...node.statements, ...updateStatements], node.ident, node.getNamespaceFlag(), node.program); + let result = arkts.factory.updateETSModule(node, [...this.imports, ...node.statements, ...updateStatements], node.ident, node.getNamespaceFlag(), node.program); + return result } return node; } diff --git a/ui2abc/build_config.json b/ui2abc/build_config.json index 33c9b45ef..8c4a7f198 100644 --- a/ui2abc/build_config.json +++ b/ui2abc/build_config.json @@ -1,7 +1,11 @@ { + "plugins_legacy": { + "ui_plugin": "../../../../../../../../../../../../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/ui-plugins/lib/ui-plugins/index.js", + "memo_plugin": "../../../../../../../../../../../../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/ui-plugins/lib/memo-plugins/index.js" + }, "plugins": { - "ui_plugin": "../../../../../../../../../../../../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/ui-plugins/lib/ui-plugins/index", - "memo_plugin": "../../../../../../../../../../../../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/build-tools/ui-plugins/lib/memo-plugins/index" + "ui_plugin": "../../../../../../../../../../../../ui2abc/arkui-plugins/lib/ui-plugin.js", + "memo_plugin": "../../../../../../../../../../../../ui2abc/arkui-plugins/lib/memo-plugin.js" }, "compileFiles": [ @@ -23,6 +27,7 @@ "loaderOutPath": "./dist", "cachePath": "./dist/cache", + "es2pandaMode": 2, "buildSdkPath": "../tools/ohos-tools/ohos-sdk1.2/ohos-sdk/20/ets/ets1.2/", "pandaSdkPath": "../incremental/tools/panda/node_modules/@panda/sdk/linux_host_tools", diff --git a/ui2abc/demo/localtest/entry/new.ets b/ui2abc/demo/localtest/entry/new.ets index 6be634615..2ca13ef45 100644 --- a/ui2abc/demo/localtest/entry/new.ets +++ b/ui2abc/demo/localtest/entry/new.ets @@ -1,7 +1,8 @@ -import { Component, Entry } from '@ohos.arkui.component' +import { Component, Entry, PageLifeCycle, CustomComponent } from '@ohos.arkui.component' @Component @Entry struct A { build() {} } +//console.log("Hello") \ No newline at end of file diff --git a/ui2abc/libarkts/src/arkts-api/visitor.ts b/ui2abc/libarkts/src/arkts-api/visitor.ts index b850b4b7e..98359f64a 100644 --- a/ui2abc/libarkts/src/arkts-api/visitor.ts +++ b/ui2abc/libarkts/src/arkts-api/visitor.ts @@ -1124,6 +1124,8 @@ export function initVisitsTable() { visitsTable[Es2pandaAstNodeType.AST_NODE_TYPE_CLASS_STATIC_BLOCK] = visitClassStaticBlock } +initVisitsTable() + export function visitEachChild( node: AstNode, visitor: Visitor -- Gitee From b8b0790bc82c56f482dc33cdea1d06a4e68880f8 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Wed, 3 Sep 2025 18:31:22 +0300 Subject: [PATCH 4/5] Fix Signed-off-by: Nikolay Igotti --- ui2abc/arkui-plugins/ui-plugins/component-transformer.ts | 3 +-- ui2abc/demo/localtest/entry/new.ets | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts b/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts index bc7c737de..86c7bdadc 100644 --- a/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts +++ b/ui2abc/arkui-plugins/ui-plugins/component-transformer.ts @@ -235,8 +235,7 @@ export class ComponentTransformer extends AbstractVisitor { } if (updateStatements.length > 0 || this.imports.length > 0) { - let result = arkts.factory.updateETSModule(node, [...this.imports, ...node.statements, ...updateStatements], node.ident, node.getNamespaceFlag(), node.program); - return result + return arkts.factory.updateETSModule(node, [...this.imports, ...node.statements, ...updateStatements], node.ident, node.getNamespaceFlag(), node.program); } return node; } diff --git a/ui2abc/demo/localtest/entry/new.ets b/ui2abc/demo/localtest/entry/new.ets index 2ca13ef45..c885bab1b 100644 --- a/ui2abc/demo/localtest/entry/new.ets +++ b/ui2abc/demo/localtest/entry/new.ets @@ -5,4 +5,3 @@ import { Component, Entry, PageLifeCycle, CustomComponent } from '@ohos.arkui.co struct A { build() {} } -//console.log("Hello") \ No newline at end of file -- Gitee From 3dbc49defb7a95f3c23f6dcd11d128af3724bb4f Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Wed, 3 Sep 2025 18:32:33 +0300 Subject: [PATCH 5/5] Small Signed-off-by: Nikolay Igotti --- ui2abc/arkui-plugins/common/program-visitor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui2abc/arkui-plugins/common/program-visitor.ts b/ui2abc/arkui-plugins/common/program-visitor.ts index 9d838c9e9..ee2a39e00 100644 --- a/ui2abc/arkui-plugins/common/program-visitor.ts +++ b/ui2abc/arkui-plugins/common/program-visitor.ts @@ -285,7 +285,7 @@ export class ProgramVisitor extends AbstractVisitor { // post-run visitors hook = isExternal ? this.hooks?.external : this.hooks?.source; this.postVisitor(hook, node, program, externalSourceName); - return script + return script; } private visitorLegacy(node: arkts.AstNode, program?: arkts.Program, externalSourceName?: string): string[] { -- Gitee