From aafc51cba059fa5580f6ee3eb6e5cbe750f9a3dc Mon Sep 17 00:00:00 2001 From: lirismankarina Date: Fri, 20 Dec 2024 20:25:23 +0300 Subject: [PATCH 1/4] Fixes according to global PR Signed-off-by: lirismankarina --- .../arkui/arktsconfig-unmemoized.json | 25 +++++++++++-------- arkoala-arkts/arkui/src/Application.ts | 3 ++- .../shopping/arktsconfig-run-unmemoized.json | 14 +++++------ .../user/arktsconfig-run-unmemoized.json | 17 ++++++------- arkoala/arkui-common/arktsconfig.json | 25 +++++++++++-------- arkoala/arkui/arktsconfig.json | 1 + .../native/src/generated/bridge_custom.cc | 3 +++ incremental/common/arktsconfig.json | 6 ++--- incremental/compat/arktsconfig.json | 9 ++++--- .../arktsconfig-run-unmemoized.json | 1 + incremental/demo-playground/arktsconfig.json | 1 + incremental/demo-playground/package.json | 2 +- .../runtime/arktsconfig-run-unmemoized.json | 10 ++++---- incremental/runtime/arktsconfig.json | 7 +++--- incremental/tools/panda/arkts/arktsc.js | 3 ++- interop/arktsconfig.json | 12 ++++----- interop/index.ts | 15 ----------- .../src/{interop => arkts}/ResourceManager.ts | 2 -- interop/src/arkts/index.sts | 2 +- interop/src/cpp/common-interop.cc | 3 ++- interop/src/cpp/ets/convertors-ets.cc | 16 +++++++----- interop/src/cpp/ets/convertors-ets.h | 2 +- interop/src/cpp/vmloader.cc | 4 +-- interop/src/interop/index.ts | 2 +- 24 files changed, 94 insertions(+), 91 deletions(-) delete mode 100644 interop/index.ts rename interop/src/{interop => arkts}/ResourceManager.ts (97%) diff --git a/arkoala-arkts/arkui/arktsconfig-unmemoized.json b/arkoala-arkts/arkui/arktsconfig-unmemoized.json index 0f382e2b0..399c60f24 100644 --- a/arkoala-arkts/arkui/arktsconfig-unmemoized.json +++ b/arkoala-arkts/arkui/arktsconfig-unmemoized.json @@ -1,21 +1,24 @@ { "compilerOptions": { + "package": "@koalaui/arkts-arkui", "outDir": "build/abc", - "baseUrl": ".", + "baseUrl": "./build/unmemoized/src", "paths": { - "#components": ["./build/unmemoized/src/generated/arkts"], - "#arkcompat/*": ["../../arkoala/arkui-common/build/unmemoized/src/arkts/*"], - "@koalaui/arkui-common": ["../../arkoala/arkui-common/build/unmemoized/src/arkts"], - "@koalaui/arkts-arkui": ["./build/unmemoized/src"], - "@koalaui/arkts-arkui/*": ["./build/unmemoized/src/*"], - "@koalaui/interop": ["../../interop/src/arkts"], - "@koalaui/common": ["../../incremental/common/src"], - "@koalaui/compat": ["../../incremental/compat/src/arkts"], - "@koalaui/runtime": ["../../incremental/runtime/build/unmemoized/src"] + "#components": ["./generated/arkts"], + "#arkcompat/*": ["../../../../../arkoala/arkui-common/build/unmemoized/src/arkts/*"], + "#arkstate": ["../../../../../arkoala/arkui-common/build/unmemoized/src"], + "@koalaui/arkui-common": ["../../../../../arkoala/arkui-common/build/unmemoized/src"], + "@koalaui/arkts-arkui": ["./"], + "@koalaui/arkts-arkui/*": ["./*"], + "@koalaui/interop": ["../../../../../interop/src/arkts"], + "@koalaui/common": ["../../../../../incremental/common/src"], + "@koalaui/compat": ["../../../../../incremental/compat/src/arkts"], + "@koalaui/runtime": ["../../../../../incremental/runtime/build/unmemoized/src"], + "#helpindexarkui": ["index.ts"] } }, "include": [ - "build/unmemoized/src/**/*.ts" + "build/unmemoized/src/**/*.ts", "build/unmemoized/src/*.ts" ], "exclude": [ "**/index.ts", diff --git a/arkoala-arkts/arkui/src/Application.ts b/arkoala-arkts/arkui/src/Application.ts index 9269973a9..8f403e573 100644 --- a/arkoala-arkts/arkui/src/Application.ts +++ b/arkoala-arkts/arkui/src/Application.ts @@ -358,4 +358,5 @@ function makeClickEvent(x: number, y: number): ClickEvent { y: y, preventDefault: () => {} } -} \ No newline at end of file +} + diff --git a/arkoala-arkts/shopping/arktsconfig-run-unmemoized.json b/arkoala-arkts/shopping/arktsconfig-run-unmemoized.json index b8bb89872..20e3c0651 100644 --- a/arkoala-arkts/shopping/arktsconfig-run-unmemoized.json +++ b/arkoala-arkts/shopping/arktsconfig-run-unmemoized.json @@ -1,8 +1,6 @@ { - "include": [ - "./build/unmemoized/**/*.ts" - ], "compilerOptions": { + "package": "@koalaui/shopping", "outDir": "build/abc", "baseUrl": ".", "paths": { @@ -21,9 +19,6 @@ "@koalaui/arkts-arkui": [ "../arkui/build/unmemoized/src" ], - "@koalaui/arkts-arkui/ohos.router": [ - "../arkui/build/unmemoized/src/ohos.router.ts" - ], "@koalaui/interop": [ "../../interop/src/arkts" ], @@ -31,7 +26,7 @@ "../arkui/build/unmemoized/src/generated/arkts" ], "@koalaui/arkui-common": [ - "../../arkoala/arkui-common/build/unmemoized/src/arkts" + "../../arkoala/arkui-common/build/unmemoized/src", "../../arkoala/arkui-common/build/unmemoized/src/arkts" ], "#arkcompat": [ "../../arkoala/arkui-common/build/unmemoized/src/arkts" @@ -41,5 +36,8 @@ "@ohos.hilog":{"language" : "js", "hasDecl" : false}, "@bundle:com.arkoala.app/entry/ets/jsFiles/pure" : {"language" : "js", "hasDecl" : false} } - } + }, + "include": [ + "./build/unmemoized/**/*.ts" + ] } diff --git a/arkoala-arkts/user/arktsconfig-run-unmemoized.json b/arkoala-arkts/user/arktsconfig-run-unmemoized.json index 0ff90ba8a..663efbf66 100644 --- a/arkoala-arkts/user/arktsconfig-run-unmemoized.json +++ b/arkoala-arkts/user/arktsconfig-run-unmemoized.json @@ -1,8 +1,6 @@ { - "include": [ - "./build/unmemoized/**/*.ts" - ], "compilerOptions": { + "package": "@koalaui/user", "outDir": "build/abc", "baseUrl": ".", "paths": { @@ -21,9 +19,6 @@ "@koalaui/arkts-arkui": [ "../arkui/build/unmemoized/src" ], - "@koalaui/arkts-arkui/ohos.router": [ - "../arkui/build/unmemoized/src/ohos.router.ts" - ], "@koalaui/interop": [ "../../interop/src/arkts" ], @@ -31,11 +26,15 @@ "../arkui/build/unmemoized/src/generated/arkts" ], "@koalaui/arkui-common": [ - "../../arkoala/arkui-common/build/unmemoized/src/arkts" + "../../arkoala/arkui-common/build/unmemoized/src", "../../arkoala/arkui-common/build/unmemoized/src/arkts" ], "#arkcompat": [ "../../arkoala/arkui-common/build/unmemoized/src/arkts" - ] + ], + "#arkstate": ["../../arkoala/arkui-common/build/unmemoized/src"] } - } + }, + "include": [ + "./build/unmemoized/**/*.ts" + ] } diff --git a/arkoala/arkui-common/arktsconfig.json b/arkoala/arkui-common/arktsconfig.json index 5e154406a..a64cf6894 100644 --- a/arkoala/arkui-common/arktsconfig.json +++ b/arkoala/arkui-common/arktsconfig.json @@ -1,32 +1,35 @@ { "compilerOptions": { + "package": "@koalaui/arkui-common", "outDir": "./build/abc", - "baseUrl": ".", + "baseUrl": "./build/unmemoized/src", "paths": { "@koalaui/common": [ - "../../incremental/common/src" + "../../../../../incremental/common/src" ], "@koalaui/runtime": [ - "../../incremental/runtime/build/unmemoized/src" - ], - "@koalaui/compat": [ - "../../incremental/compat/src" + "../../../../../incremental/runtime/build/unmemoized/src" ], "#arkcompat/*": [ - "./build/unmemoized/src/arkts/*" + "./../../../build/unmemoized/src/arkts/*" ], "#platform": [ - "../../incremental/compat/src/arkts" - ] + "../../../../../incremental/compat/src/arkts" + ], + "@koalaui/compat": [ + "../../../../../incremental/compat/src/arkts", "../../../../../incremental/compat/src" + ], + "@koalaui/arkui-common": ["../"] } }, "include": [ "build/unmemoized/src/**/*.ts" ], "exclude": [ - "**/index.ts", "build/unmemoized/src/ts/**/*", - "build/unmemoized/src/typescript/**/*" + "build/unmemoized/src/typescript/**/*", + "build/unmemoized/src/arkts/index.ts", + "#platform" ], "references": [ { diff --git a/arkoala/arkui/arktsconfig.json b/arkoala/arkui/arktsconfig.json index cb77bc014..5964d8a7e 100644 --- a/arkoala/arkui/arktsconfig.json +++ b/arkoala/arkui/arktsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "package": "@arkoala/arkui", "baseUrl": ".", "outDir": "build", "paths": { diff --git a/arkoala/framework/native/src/generated/bridge_custom.cc b/arkoala/framework/native/src/generated/bridge_custom.cc index da7672d72..ab84e18a4 100644 --- a/arkoala/framework/native/src/generated/bridge_custom.cc +++ b/arkoala/framework/native/src/generated/bridge_custom.cc @@ -464,6 +464,8 @@ KVMObjectHandle impl_LoadUserView(KVMContext vm, const KStringPtr& viewClass, co std:: string className(viewClass.c_str()); // TODO: hack, fix it! if (className == "ViewLoaderApp") className = "Page.App"; + if (className == "Page.ViewShoppingApp") className = "@koalaui.shopping.build.unmemoized.src.Page.ViewShoppingApp"; + if (className == "Page.ViewTrivialApp") className = "@koalaui.user.build.unmemoized.src.Page.ViewTrivialApp"; std::replace(className.begin(), className.end(), '.', '/'); ets_class viewClassClass = env->FindClass(className.c_str()); if (!viewClassClass) { @@ -474,6 +476,7 @@ KVMObjectHandle impl_LoadUserView(KVMContext vm, const KStringPtr& viewClass, co } return nullptr; } + ets_method viewClassCtor = env->Getp_method(viewClassClass, "", "Lstd/core/String;:V"); if (!viewClassCtor) { fprintf(stderr, "Cannot find user class ctor\n"); diff --git a/incremental/common/arktsconfig.json b/incremental/common/arktsconfig.json index c5cf554c7..dcacec76b 100644 --- a/incremental/common/arktsconfig.json +++ b/incremental/common/arktsconfig.json @@ -1,13 +1,13 @@ { "compilerOptions": { + "package": "@koalaui/common", "outDir": "build/abc", - "baseUrl": ".", + "baseUrl": "./src", "paths": { - "@koalaui/compat": ["../compat/src/arkts"] + "@koalaui/compat": ["../../compat/src/arkts"] } }, "include": ["src/**/*.ts"], - "exclude": ["src/index.ts"], "references": [ { "path": "../compat" } ] diff --git a/incremental/compat/arktsconfig.json b/incremental/compat/arktsconfig.json index 617e2e88a..6b515b376 100644 --- a/incremental/compat/arktsconfig.json +++ b/incremental/compat/arktsconfig.json @@ -1,11 +1,14 @@ { "compilerOptions": { + "package": "@koalaui/compat", "outDir": "build/abc", - "rootDir": "./src", + "rootDir": "./src/arkts", + "baseUrl": "./src/arkts", "paths": { - "#platform": ["./src/arkts"] + "#platform": ["./"], + "@koalaui/compat": ["../"] } }, "include": ["src/index.ts", "src/arkts/**/*.ts"], - "exclude": ["src/arkts/index.ts"] + "exclude": ["./src/arkts/index.ts"] } diff --git a/incremental/demo-playground/arktsconfig-run-unmemoized.json b/incremental/demo-playground/arktsconfig-run-unmemoized.json index d46697e55..06d34f192 100644 --- a/incremental/demo-playground/arktsconfig-run-unmemoized.json +++ b/incremental/demo-playground/arktsconfig-run-unmemoized.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "package": "@koalaui/demo", "outDir": "build", "baseUrl": ".", "paths": { diff --git a/incremental/demo-playground/arktsconfig.json b/incremental/demo-playground/arktsconfig.json index 95119c938..9f073f903 100644 --- a/incremental/demo-playground/arktsconfig.json +++ b/incremental/demo-playground/arktsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "package": "@koalaui/demo", "outDir": "build/abc", "baseUrl": ".", "paths": { diff --git a/incremental/demo-playground/package.json b/incremental/demo-playground/package.json index e2da19fda..6b06290c1 100644 --- a/incremental/demo-playground/package.json +++ b/incremental/demo-playground/package.json @@ -27,7 +27,7 @@ "run": "npm run compile && node lib/js/app.js", "run:unmemoizing": "npm run compile:unmemoizing && node lib/unmemoized/js/app.js", "run:panda": "bash ../tools/panda/arkts/ark build/abc/src/main.abc --ark-boot-files $(find ../compat/build/abc ../common/build/abc/ ../runtime/build/abc/ -name '*.abc' | paste -sd ':' -) --ark-entry-point main.ETSGLOBAL::main", - "run:panda:unmemoizing:linked": "bash ../tools/panda/arkts/ark build/unmemoized/src/main.abc --ark-boot-files ../runtime/build/incremental.abc --ark-entry-point main.ETSGLOBAL::main", + "run:panda:unmemoizing:linked": "bash ../tools/panda/arkts/ark build/unmemoized/src/main.abc --ark-boot-files ../runtime/build/incremental.abc --ark-entry-point @koalaui.demo.build.unmemoized.src.main.ETSGLOBAL::main", "run:panda:unmemoizing": "npm run compile:arkts:unmemoizing && npm run build:incremental:inc --prefix ../runtime && npm run run:panda:unmemoizing:linked", "clean:unmemoized": "rimraf unmemoized", "clean": "rimraf build unmemoized" diff --git a/incremental/runtime/arktsconfig-run-unmemoized.json b/incremental/runtime/arktsconfig-run-unmemoized.json index 40d8c5824..b2d38a278 100644 --- a/incremental/runtime/arktsconfig-run-unmemoized.json +++ b/incremental/runtime/arktsconfig-run-unmemoized.json @@ -1,14 +1,14 @@ { "compilerOptions": { + "package": "@koalaui/runtime", "outDir": "build/unmemoized/abc", - "baseUrl": ".", + "baseUrl": "./build/unmemoized/src", "paths": { - "@koalaui/common": ["../common/src"], - "@koalaui/compat": ["../compat/src/arkts"] + "@koalaui/common": ["../../../../common/src"], + "@koalaui/compat": ["../../../../compat/src/arkts"] } }, - "include": ["build/unmemoized/src/**/*.ts"], - "exclude": ["build/unmemoized/src/**/index.ts"], + "include": ["build/unmemoized/src/**/*.ts", "build/unmemoized/src/*.ts"], "references": [ { "path": "../common" }, { "path": "../compat" } diff --git a/incremental/runtime/arktsconfig.json b/incremental/runtime/arktsconfig.json index 7e914a99a..f2abbcdad 100644 --- a/incremental/runtime/arktsconfig.json +++ b/incremental/runtime/arktsconfig.json @@ -1,10 +1,11 @@ { "compilerOptions": { + "package": "@koalaui/runtime", "outDir": "build/abc", - "baseUrl": ".", + "baseUrl": "./src", "paths": { - "@koalaui/common": ["../common/src"], - "@koalaui/compat": ["../compat/src/arkts"] + "@koalaui/common": ["../../common/src"], + "@koalaui/compat": ["../../compat/src/arkts"] } }, "include": ["./src/**/*.ts"], diff --git a/incremental/tools/panda/arkts/arktsc.js b/incremental/tools/panda/arkts/arktsc.js index 70043517c..e86b1158c 100644 --- a/incremental/tools/panda/arkts/arktsc.js +++ b/incremental/tools/panda/arkts/arktsc.js @@ -72,4 +72,5 @@ child.on('exit', (code, signal) => { console.log(`Received signal: ${signal} from '${formatCommand(cmd.join(' '), process.cwd())}'`) process.exit(1) } -}) \ No newline at end of file +}) + diff --git a/interop/arktsconfig.json b/interop/arktsconfig.json index 65d20bf96..f2491e241 100644 --- a/interop/arktsconfig.json +++ b/interop/arktsconfig.json @@ -1,15 +1,15 @@ { "compilerOptions": { + "package": "@koalaui/interop", "outDir": "build/abc", - "baseUrl": ".", + "baseUrl": "./src/arkts", "paths": { - "@koalaui/compat": ["../incremental/compat/src/arkts"], - "@koalaui/common": ["../incremental/common/src"], - "#common/wrappers/*": ["./src/napi/wrappers/*"] + "@koalaui/compat": ["../../../incremental/compat/src/arkts"], + "@koalaui/common": ["../../../incremental/common/src"], + "#common/wrappers/*": ["./../../src/napi/wrappers/*"] } }, - "include": ["src/arkts/*.sts", "src/interop/ResourceManager.ts"], - "exclude": ["*/**/index.sts"], + "include": ["src/arkts/*.sts", "src/arkts/ResourceManager.ts", "./index.ts"], "references": [ { "path": "../incremental/common" }, { "path": "../incremental/compat" } diff --git a/interop/index.ts b/interop/index.ts deleted file mode 100644 index ac57d1240..000000000 --- a/interop/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) 2022-2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - diff --git a/interop/src/interop/ResourceManager.ts b/interop/src/arkts/ResourceManager.ts similarity index 97% rename from interop/src/interop/ResourceManager.ts rename to interop/src/arkts/ResourceManager.ts index 7eaa6d2e5..fca2c6eea 100644 --- a/interop/src/interop/ResourceManager.ts +++ b/interop/src/arkts/ResourceManager.ts @@ -15,8 +15,6 @@ import { int32 } from "@koalaui/common" -// todo maybe move this class to @koalaui/interop ? - export type ResourceId = int32 interface ResourceInfo { diff --git a/interop/src/arkts/index.sts b/interop/src/arkts/index.sts index 8ac2223d6..ca8f8b555 100644 --- a/interop/src/arkts/index.sts +++ b/interop/src/arkts/index.sts @@ -16,6 +16,6 @@ export * from "./InteropTypes" export * from "./callback" export * from "./buffer" -export * from "../interop/ResourceManager" +export * from "./ResourceManager" export * from "./NativeBuffer" export * from "./InteropNativeModule" diff --git a/interop/src/cpp/common-interop.cc b/interop/src/cpp/common-interop.cc index c52cb340f..be40b75b4 100644 --- a/interop/src/cpp/common-interop.cc +++ b/interop/src/cpp/common-interop.cc @@ -447,4 +447,5 @@ KStringPtr impl_StdStringToString(KVMContext vmContext, KNativePointer stringPtr return result; } KOALA_INTEROP_CTX_1(StdStringToString, KStringPtr, KNativePointer) -#endif \ No newline at end of file +#endif + diff --git a/interop/src/cpp/ets/convertors-ets.cc b/interop/src/cpp/ets/convertors-ets.cc index 9b262c34f..6df3373d3 100644 --- a/interop/src/cpp/ets/convertors-ets.cc +++ b/interop/src/cpp/ets/convertors-ets.cc @@ -18,7 +18,7 @@ #include "signatures.h" #include "interop-logging.h" -static const char* nativeModule = "NativeModule/NativeModule"; +static const char* nativeModule = "@koalaui/arkts-arkui/generated/arkts/NativeModuleLoader/NativeModuleLoader"; static const char* callCallbackFromNative = "callCallbackFromNative"; static const char* callCallbackFromNativeSig = "I[BI:I"; @@ -53,18 +53,18 @@ static bool registerNatives(ets_env *env, const ets_class clazz, const std::vect return registerByOne ? true : result; } -// Init function name depends on native class name and the file name where this class is defined +// Init function name depends on native class name and the module qualified name where this class is defined // This information should be provided during compilation of native module // TODO Update build scripts and remove default values #ifndef ETS_NATIVE_MODULE_CLASS_NAME #define ETS_NATIVE_MODULE_CLASS_NAME NativeModuleLoader -#define ETS_NATIVE_MODULE_FILE_NAME NativeModuleLoader +#define ETS_NATIVE_MODULE_QUALIFIED_NAME _00040koalaui_arkts_0002darkui_generated_arkts_NativeModuleLoader #endif // expected ArkTS function signature - static native init(modules: string[]): void -#define NATIVE_MODULE_INIT_FUNC_(cls, file) ETS_ ## file ## _ ## cls ## _init___3Lstd_core_String_2 -#define NATIVE_MODULE_INIT_FUNC(cls, file) NATIVE_MODULE_INIT_FUNC_(cls, file) -#define NATIVE_MODULE_INIT NATIVE_MODULE_INIT_FUNC(ETS_NATIVE_MODULE_CLASS_NAME, ETS_NATIVE_MODULE_FILE_NAME) +#define NATIVE_MODULE_INIT_FUNC_(cls, moduleName) ETS_ ## moduleName ## _ ## cls ## _init___3Lstd_core_String_2 +#define NATIVE_MODULE_INIT_FUNC(cls, moduleName) NATIVE_MODULE_INIT_FUNC_(cls, moduleName) +#define NATIVE_MODULE_INIT NATIVE_MODULE_INIT_FUNC(ETS_NATIVE_MODULE_CLASS_NAME, ETS_NATIVE_MODULE_QUALIFIED_NAME) #define ETS_NATIVE_MODULE_CLASS_NAME_STR KOALA_QUOTE(ETS_NATIVE_MODULE_CLASS_NAME) @@ -116,6 +116,9 @@ bool registerAllModules(ets_env *env, ets_objectArray etsModuleMapping) { for (auto it = moduleNames.begin(); it != moduleNames.end(); ++it) { std::string className = fullClassName(moduleMapping, *it); + if (className == "ArkUIGeneratedNativeModule/ArkUIGeneratedNativeModule") className = "@koalaui/arkts-arkui/generated/arkts/ArkUIGeneratedNativeModule/ArkUIGeneratedNativeModule"; + if (className == "InteropNativeModule/InteropNativeModule") className = "@koalaui/interop/InteropNativeModule/InteropNativeModule"; + if (className == "ArkUINativeModule/ArkUINativeModule") className = "@koalaui/arkts-arkui/generated/arkts/ArkUINativeModule/ArkUINativeModule"; ets_class nativeModule = !splitPerModule ? defaultNativeModule : env->FindClass(className.c_str()); if (nativeModule == nullptr) { LOGE("Cannot find managed class %s", className.c_str()); @@ -131,6 +134,7 @@ bool registerAllModules(ets_env *env, ets_objectArray etsModuleMapping) { // TODO: EtsNapiOnLoad() hook shall be used to register native, but unfortunately, env->FindClass("NativeModule.NativeModule") // returns null. + extern "C" ETS_EXPORT void NATIVE_MODULE_INIT(ets_env *env, ets_class clazz, ets_objectArray moduleMapping) { registerAllModules(env, moduleMapping); setKoalaEtsNapiCallbackDispatcher(env, clazz, callCallbackFromNative, callCallbackFromNativeSig); diff --git a/interop/src/cpp/ets/convertors-ets.h b/interop/src/cpp/ets/convertors-ets.h index 4083921f1..f58fb3f35 100644 --- a/interop/src/cpp/ets/convertors-ets.h +++ b/interop/src/cpp/ets/convertors-ets.h @@ -133,7 +133,7 @@ struct InteropTypeConverter { const static ets_class double_class = env->FindClass("std/core/Double"); const static ets_class int_class = env->FindClass("std/core/Int"); const static ets_class string_class = env->FindClass("std/core/String"); - const static ets_class resource_class = env->FindClass("ArkResourceInterfaces/Resource"); + const static ets_class resource_class = env->FindClass("@koalaui/arkts-arkui/generated/ArkResourceInterfaces/Resource"); if (env->IsInstanceOf(value, double_class)) { const static ets_method double_p = env->Getp_method(double_class, "unboxed", ":D"); diff --git a/interop/src/cpp/vmloader.cc b/interop/src/cpp/vmloader.cc index 1c2debf6e..56cdac2b5 100644 --- a/interop/src/cpp/vmloader.cc +++ b/interop/src/cpp/vmloader.cc @@ -310,9 +310,9 @@ const AppInfo javaAppInfo = { #ifdef KOALA_ETS_NAPI const AppInfo pandaAppInfo = { - "Application/Application", + "@koalaui/arkts-arkui/Application/Application", "createApplication", - "Lstd/core/String;Lstd/core/String;Z:LApplication/Application;", + "Lstd/core/String;Lstd/core/String;Z:L@koalaui/arkts-arkui/Application/Application;", "start", ":J", "enter", diff --git a/interop/src/interop/index.ts b/interop/src/interop/index.ts index 9606ea794..db9ade1b1 100644 --- a/interop/src/interop/index.ts +++ b/interop/src/interop/index.ts @@ -64,7 +64,7 @@ export * from "./InteropTypes" export * from "./InteropOps" export * from "./buffer" -export * from "./ResourceManager" +export * from "../arkts/ResourceManager" export * from "./NativeBuffer" export { registerLoadedLibrary, registerNativeModule } from "./loadLibraries" export { InteropNativeModule } from "./InteropNativeModule" -- Gitee From a28857ace6b4777e12e2efb8e7ad5e6ffae8f09c Mon Sep 17 00:00:00 2001 From: Amosov Alexey Date: Wed, 15 Jan 2025 14:46:50 +0300 Subject: [PATCH 2/4] fix retry Downloading sdk Signed-off-by: Amosov Alexey --- .../scripts/download-interface-sdk.mjs | 20 +++++++++---------- incremental/tools/panda/build_panda_sdk.mjs | 13 +++++++----- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/arkoala/arkui-common/scripts/download-interface-sdk.mjs b/arkoala/arkui-common/scripts/download-interface-sdk.mjs index 17731168d..2fca65ea0 100644 --- a/arkoala/arkui-common/scripts/download-interface-sdk.mjs +++ b/arkoala/arkui-common/scripts/download-interface-sdk.mjs @@ -25,20 +25,18 @@ const sdkInfo = JSON.parse(fs.readFileSync(path.join(__dirname, "ohos-sdk.json") const dir = "./interface_sdk-js" -if (fs.existsSync(dir)) { - //execSync(`cd ${dir} && git pull`) -} else { - console.log("Downloading sdk") - execSync("git clone https://gitee.com/openharmony/interface_sdk-js.git") +if (!fs.existsSync(dir)) { + fs.mkdirSync(dir) } +execSync(`cd interface_sdk-js`) +execSync(`git init`, { cwd: dir }) +execSync(`git remote add origin https://gitee.com/openharmony/interface_sdk-js.git`, { cwd: dir }) +console.log("Downloading sdk") +execSync(`num=0; until git fetch --depth 1 origin ${sdkInfo.hash}; do num=$((num+1)); if [[ $num -eq 5 ]]; then break; fi; done`, { cwd: dir }) +execSync(`git checkout FETCH_HEAD`, { cwd: dir }) const components = "interface_sdk-js/api/@internal/component/ets" const fakeComponents = "fake-interface-sdk-declarations/" // TODO: We need patch sdk -fs.cpSync( - path.join(fakeComponents, "koala-extensions.d.ts"), - path.join(components, "koala-extensions.d.ts"), - { recursive: true } -) -execSync(`cd interface_sdk-js && git fetch origin && git checkout ${sdkInfo.hash}`) \ No newline at end of file +fs.cpSync(path.join(fakeComponents, "koala-extensions.d.ts"), path.join(components, "koala-extensions.d.ts"), { recursive: true }) diff --git a/incremental/tools/panda/build_panda_sdk.mjs b/incremental/tools/panda/build_panda_sdk.mjs index 093c504be..d31386404 100644 --- a/incremental/tools/panda/build_panda_sdk.mjs +++ b/incremental/tools/panda/build_panda_sdk.mjs @@ -103,13 +103,16 @@ function makeDir(path) { } function makeSymlink(target, dest) { - if (fs.lstatSync(dest).isDirectory()) { - fs.rmdirSync(dest, { recursive: true, force: true }) - fs.cpSync(target, dest, { recursive: true }) - } else { - if (fs.existsSync(dest)) { + if (fs.existsSync(dest)) { + if (fs.lstatSync(dest).isDirectory()) { + fs.rmdirSync(dest, { recursive: true, force: true }) + } else { fs.unlinkSync(dest) } + } + if (fs.lstatSync(target).isDirectory()) { + fs.cpSync(target, dest, { recursive: true }) + } else { fs.symlinkSync(target, dest) } } -- Gitee From c1f15df1072ea4fa7e139bf75916bcebdd4aa696 Mon Sep 17 00:00:00 2001 From: Tatiana Titova Date: Wed, 22 Jan 2025 13:24:31 +0300 Subject: [PATCH 3/4] Workaround for void-return one-statement lambdas Signed-off-by: Tatiana Titova --- arkoala-arkts/arkui/src/ForEach.ts | 2 +- arkoala-arkts/arkui/src/LazyForEach.ts | 2 +- incremental/runtime/src/memo/bind.ts | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arkoala-arkts/arkui/src/ForEach.ts b/arkoala-arkts/arkui/src/ForEach.ts index a7b27089b..c3cec55c0 100644 --- a/arkoala-arkts/arkui/src/ForEach.ts +++ b/arkoala-arkts/arkui/src/ForEach.ts @@ -26,5 +26,5 @@ export function ForEach(data: Array, ) { RepeatByArray(data, (element: T, index: int32) => keyGenerator ? hashCodeFromString(keyGenerator!(element, (index as number))) : index, - (element: T, index: int32) => itemGenerator(element, (index as number))) + (element: T, index: int32) => { itemGenerator(element, (index as number)) }) } diff --git a/arkoala-arkts/arkui/src/LazyForEach.ts b/arkoala-arkts/arkui/src/LazyForEach.ts index 045a076c5..6dfc36cda 100644 --- a/arkoala-arkts/arkui/src/LazyForEach.ts +++ b/arkoala-arkts/arkui/src/LazyForEach.ts @@ -138,7 +138,7 @@ export function LazyForEach(dataSource: IDataSource, memoEntry2( __context(), generator(element, index), - (element: T, index: number): void => itemGenerator(element, index), + (element: T, index: number): void => { itemGenerator(element, index) }, element, index ) diff --git a/incremental/runtime/src/memo/bind.ts b/incremental/runtime/src/memo/bind.ts index c74f8ef3e..67e56e2d4 100644 --- a/incremental/runtime/src/memo/bind.ts +++ b/incremental/runtime/src/memo/bind.ts @@ -64,7 +64,7 @@ export function memoBind( { return ( /** @memo */ - () => item(value) + () => { item(value) } ) } @@ -78,7 +78,7 @@ export function memoBind2( { return ( /** @memo */ - () => item(value1, value2) + () => { item(value1, value2) } ) } @@ -93,7 +93,7 @@ export function memoPartialBind2_1( { return ( /** @memo */ - (arg2: T2) => item(value1, arg2) + (arg2: T2) => { item(value1, arg2) } ) } @@ -108,6 +108,6 @@ export function memoPartialBind3_2( { return ( /** @memo */ - (arg2: T2, arg3: T3) => item(value1, arg2, arg3) + (arg2: T2, arg3: T3) => { item(value1, arg2, arg3) } ) } -- Gitee From 9cda667cc755e7a4239329a3a06a6750e7b969e8 Mon Sep 17 00:00:00 2001 From: Daniel Kofanov Date: Tue, 18 Feb 2025 01:39:20 +0800 Subject: [PATCH 4/4] Transform 'shoppingRouter' from instance method to function Signed-off-by: Daniel Kofanov --- .../shopping/src/ets/pages/index-entry.ets | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/arkoala-arkts/shopping/src/ets/pages/index-entry.ets b/arkoala-arkts/shopping/src/ets/pages/index-entry.ets index fcd6e8dd3..c075dc927 100644 --- a/arkoala-arkts/shopping/src/ets/pages/index-entry.ets +++ b/arkoala-arkts/shopping/src/ets/pages/index-entry.ets @@ -23,6 +23,18 @@ import { Detail } from './detailPage/detail' import { SearchPage } from './search/searchPage' //import mediaquery from '@ohos.mediaquery'; import { SearchParam } from '../model/routeModel' + +@Builder +function shoppingRouter(name: string, param: Object) { + if (name === 'detailPage') { + Detail() + } else if (name === 'searchPage') { + // Arkoala: original Shopping passed param to SearchPage + // But it does not good. + SearchPage() + } +} + @Entry @Component struct Index { @@ -50,18 +62,6 @@ struct Index { } } */ - @Builder - shoppingRouter(name: string, param: Object) { - if (name === 'detailPage') { - Detail() - } else if (name === 'searchPage') { - // Arkoala: original Shopping passed param to SearchPage - // But it does not good. - SearchPage() - } - - - } build() { Stack() { @@ -123,7 +123,7 @@ struct Index { } .mode(NavigationMode.Stack) .hideTitleBar(true) - .navDestination(this.shoppingRouter) + .navDestination(shoppingRouter) } .margin({top:50, bottom: 50} as Padding) } -- Gitee