# arkcompiler_ets_frontend **Repository Path**: yan-shuifeng/arkcompiler_ets_frontend ## Basic Information - **Project Name**: arkcompiler_ets_frontend - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 153 - **Created**: 2024-10-31 - **Last Updated**: 2025-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **Umbrella repo of `incremental engine` and `ArkUI` refactoring project** # Setup env Export these env variables: - `OPENLAB_USERNAME` - `OPENLAB_PASSWORD` Install `meson` no older than `0.61`. # How to build `arkoala.har` ``` $ npm install $ KOALA_BZ=1 npm run arkoala:har-arm32 $ file ./arkoala/har/app/arkoala/build/default/outputs/default/arkoala.har ``` # How to build `arkoala-arkts.har` ``` $ npm install $ cd arkoala-arkts $ KOALA_BZ=1 npm run trivial:all:har-arm32 $ file ./arkoala-arkts/har/app/arkoala/build/default/outputs/default/arkoala.har ``` # How to build `arkoala plugin` and patch `OHOS SDK` ``` $ npm install $ KOALA_BZ=1 npm run ohos-sdk $ export HOS_SDK_HOME=`pwd`/arkoala/ohos-sdk/ohos-sdk $ KOALA_BZ=1 npm run arkoala:plugin $ file ${HOS_SDK_HOME}/HarmonyOS-NEXT-DB1/openharmony/ets/build-tools/ets-loader/lib/fast_build/ets_ui/arkoala-plugin.js ``` system code ``` 代码分支下载信息: repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony_feature_202401108 -m default.xml --no-repo-verify   版本获取路径: https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist 项目:openharmony  分支:OpenHarmony_feature_20241108 ``` ## Setup env ``` Export these env variables: - `OPENLAB_USERNAME` - `OPENLAB_PASSWORD` ``` OPENLAB_USERNAME=koala-pub OPENLAB_PASSWORD=y3t!n0therP // use y3\\t!n0therP if executed from command line Add registry to the `.npmrc` file in the `$HOME` directory (`~/.npmrc`): ```text @koalaui:registry=https://nexus.bz-openlab.ru:10443/repository/koala-npm/ @panda:registry=https://nexus.bz-openlab.ru:10443/repository/koala-npm/ ``` Try login to the registry ``` npm login --registry=https://nexus.bz-openlab.ru:10443/repository/koala-npm/ ``` ``` username: koala-pub passwd: y3t!n0therP ``` ## Run on device 1. Building arkoala-arkts.har ``` $ npm install $ cd arkoala-arkts $ npm run panda:sdk:install $ KOALA_BZ=1 HTTP_CACHE_DIR=$HOME/download npm run trivial:all:har-arm32 $ file ./arkoala-arkts/har/app/arkoala/build/default/outputs/default/arkoala.har ``` > If you failed to download SDK when you run `npm run trivial:all:har-arm32` by command, you can install SDK manully > Download from url: https://nexus.bz-openlab.ru:10443/repository/koala-raw/ohos-sdk-ets/5.0.024/ohos-sdk-ets-5.0.0.24.zip > Put the downloaded file in your \$HOME/download directory and unzip it to the \$HOME/download/unzip directory ![image](https://wiki.huawei.com/vision-file-storage/api/file/download/upload-v2/WIKI202411075046609/14191477/71e5187038bf41e7aefdbabbd9bc5898.png) 2. Сreate an application in DevEco and set the arkoala-arkts.har depending on the oh-package.json5 ``` "dependencies": { "@koalaui/arkoala-arkui": "file:" } ``` 3. Add metadata to entry/src/main/module.json5 ``` { "module": { ... "metadata": [ { "name": "ArkoalaPlugin", "value": "true" } ] } } ``` 4. Run your application ## Config SDK Build `arkoala plugin` and patch `OHOS SDK` ``` $ npm install $ KOALA_BZ=1 npm run ohos-sdk $ export HOS_SDK_HOME=`pwd`/arkoala/ohos-sdk/ohos-sdk $ KOALA_BZ=1 HTTP_CACHE_DIR=$HOME/download npm run arkoala:plugin $ file ${HOS_SDK_HOME}/HarmonyOS-NEXT-DB1/openharmony/ets/build-tools/ets-loader/lib/fast_build/ets_ui/arkoala-plugin.js ``` Replace your SDK's `ets` folder with ${HOS_SDK_HOME}/HarmonyOS-NEXT-DB1/openharmony/ets And copy your original SDK's ets/build-tools/ets-loader/bin/ark/build-win folder to your new SDK's ets/build-tools/ets-loader/bin/ark/ directory. > this is because the patched SDK is buildlt for linux : ) ## Some problems 1. If you can’t load libraries, you can put them in the system/lib ``` hdc file send /system/lib ``` 2. Currently a working version of panda in the blue zone is 1.5.0-dev.5226 ``` cd incremental/tools/panda npm i @panda/sdk@1.5.0-dev.5226 ```