From fd0cdffe5033c580f5f4ec340e46bd480667b1ce Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Fri, 24 Jan 2025 19:28:19 +0300 Subject: [PATCH 1/2] Ensure arktsc-capi runs on CI for compat Signed-off-by: Alexander Gorshenev --- arkoala-arkts/.gitlab-ci.yml | 17 +++++++++++++++++ incremental/compat/package.json | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/arkoala-arkts/.gitlab-ci.yml b/arkoala-arkts/.gitlab-ci.yml index 2c3bec8eb..3d7831e86 100644 --- a/arkoala-arkts/.gitlab-ci.yml +++ b/arkoala-arkts/.gitlab-ci.yml @@ -117,6 +117,23 @@ install node modules (arkoala-arkts): - incremental/runtime/build/incremental.abc expire_in: 1 day + build incremental (w/plugin): + stage: build + interruptible: true + extends: + - .linux-vm-shell-task + needs: + - install node modules (arkoala) + - install node modules (arkoala-arkts) + - install node modules (incremental) + - install node modules (interop) + before_script: + - !reference [.setup, script] + - npm run panda:sdk:install --prefix arkoala-arkts + - npm run compile --prefix arkoala-arkts/libarkts + script: + - npm run build:compat:inc:capi --prefix incremental/compat + build interop.abc: stage: build interruptible: true diff --git a/incremental/compat/package.json b/incremental/compat/package.json index 40737e3e0..cc021c17c 100644 --- a/incremental/compat/package.json +++ b/incremental/compat/package.json @@ -27,7 +27,7 @@ "compile:all": "npm run compile && npm run compile:ohos", "build:compat": "npm run build:compat:inc", "build:compat:inc": "fast-arktsc --input-files ./arktsconfig.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc --link-name compat && ninja ${NINJA_OPTIONS} -f build/build.ninja", - "build:compat:inc:capi": "fast-arktsc --input-files ./arktsconfig.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc-capi --file-option --link-name compat && ninja ${NINJA_OPTIONS} -f build/build.ninja" + "build:compat:inc:capi": "fast-arktsc --input-files ./arktsconfig.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc-capi --file-option --link-name compat && PANDA_SDK_PATH=../tools/panda/node_modules/@panda/sdk ninja ${NINJA_OPTIONS} -f build/build.ninja" }, "keywords": [], -- Gitee From 888b73806bb0d62e4bb2c8df6c8c89b2f35de444 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Fri, 24 Jan 2025 19:31:52 +0300 Subject: [PATCH 2/2] Many tmp things Signed-off-by: Alexander Gorshenev --- arkoala-arkts/libarkts/examples/tsconfig.json | 1 + arkoala-arkts/libarkts/src/es2panda.ts | 17 +++++++++-------- incremental/common/arktsconfig.json | 14 ++++++++++++-- incremental/common/package.json | 3 ++- incremental/demo-playground/package.json | 3 +-- incremental/runtime/package.json | 1 + 6 files changed, 26 insertions(+), 13 deletions(-) diff --git a/arkoala-arkts/libarkts/examples/tsconfig.json b/arkoala-arkts/libarkts/examples/tsconfig.json index 145cc7fc5..319f3ee85 100644 --- a/arkoala-arkts/libarkts/examples/tsconfig.json +++ b/arkoala-arkts/libarkts/examples/tsconfig.json @@ -9,6 +9,7 @@ "include": [ "./src/example-parsed-transformer.ts", "./src/example-checked-transformer.ts", + "./src/example-printer-transformer.ts", "./src/AbstractVisitor.ts", "./src/print-visitor.ts", "./src/builder-lambda-transformer.ts", diff --git a/arkoala-arkts/libarkts/src/es2panda.ts b/arkoala-arkts/libarkts/src/es2panda.ts index 57ed1f57b..6c92f6a32 100644 --- a/arkoala-arkts/libarkts/src/es2panda.ts +++ b/arkoala-arkts/libarkts/src/es2panda.ts @@ -115,17 +115,18 @@ function loadPlugin(configDir: string, jsonPlugin: any) { } function selectPlugins(configDir: string, plugins: any[], stage: string): ((arg: arkts.Node) => arkts.Node)|undefined { + console.log("PLUGINS: ", plugins) const selected = plugins - .filter(it => (it.stage == stage)) - .map(it => loadPlugin(configDir, it)) - if (selected.length == 0) { + ?.filter(it => (it.stage == stage)) + ?.map(it => loadPlugin(configDir, it)) + if (!selected || selected.length == 0) { return undefined - } else { - return (ast: arkts.Node) => selected.reduce( - (it, transform) => transform(it), - ast - ) } + + return (ast: arkts.Node) => selected.reduce( + (it, transform) => transform(it), + ast + ) } function stateName(value: arkts.Es2pandaContextState): string { diff --git a/incremental/common/arktsconfig.json b/incremental/common/arktsconfig.json index dcacec76b..97d04117f 100644 --- a/incremental/common/arktsconfig.json +++ b/incremental/common/arktsconfig.json @@ -5,9 +5,19 @@ "baseUrl": "./src", "paths": { "@koalaui/compat": ["../../compat/src/arkts"] - } + }, + "plugins": [ + { + "transform": "../../arkoala-arkts/libarkts/examples/build/src/example-printer-transformer.js", + "stage": "parsed" + }, + { + "transform": "../../arkoala-arkts/libarkts/examples/build/src/example-printer-transformer.js", + "stage": "checked" + } + ] }, - "include": ["src/**/*.ts"], + "include": ["src/**/math.ts"], "references": [ { "path": "../compat" } ] diff --git a/incremental/common/package.json b/incremental/common/package.json index 01e4b7790..a7391f778 100644 --- a/incremental/common/package.json +++ b/incremental/common/package.json @@ -32,7 +32,8 @@ "test:coverage": "nyc mocha", "clean:common": "npm run clean", "build:common": "npm run build:common:inc", - "build:common:inc": "fast-arktsc --input-files ./arktsconfig.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc --link-name common && ninja ${NINJA_OPTIONS} -f build/build.ninja" + "build:common:inc": "fast-arktsc --input-files ./arktsconfig.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc --link-name common && ninja ${NINJA_OPTIONS} -f build/build.ninja", + "build:common:inc:capi": "fast-arktsc --input-files ./arktsconfig.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc-capi --file-option --link-name common && PANDA_SDK_PATH=../tools/panda/node_modules/@panda/sdk ninja ${NINJA_OPTIONS} -f build/build.ninja" }, "keywords": [], "dependencies": { diff --git a/incremental/demo-playground/package.json b/incremental/demo-playground/package.json index 6b06290c1..1e739b266 100644 --- a/incremental/demo-playground/package.json +++ b/incremental/demo-playground/package.json @@ -19,14 +19,13 @@ "compile:unmemoize": "memo-tsc -b tsconfig-unmemoize.json", "compile:run-unmemoized": "npm run compile -- --env tsconfig=tsconfig-run-unmemoized.json --env unmemoized=unmemoized", "compile:unmemoizing": "npm run compile:unmemoize && npm run compile:run-unmemoized", - "compile:arkts": "bash ../tools/panda/arkts/arktsc --arktsconfig arktsconfig.json", "compile:arkts:unmemoize": "memo-tsc -b tsconfig-unmemoize.json", "compile:arkts:unmemoized": "bash ../tools/panda/arkts/arktsc --arktsconfig arktsconfig-run-unmemoized.json build/unmemoized/src/main.ts --output build/unmemoized/src/main.abc", + "compile:arkts:unmemoized:capi": "bash ../tools/panda/arkts/arktsc-capi --arktsconfig arktsconfig-run-unmemoized.json --file build/unmemoized/src/main.ts --output build/unmemoized/src/main.abc", "compile:arkts:unmemoizing": "npm run compile:unmemoize && npm run compile:arkts:unmemoized", "panda:sdk:install": "cd ../tools/panda && npm run panda:sdk:install", "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 @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", diff --git a/incremental/runtime/package.json b/incremental/runtime/package.json index fb38b07d9..45fbd01b1 100644 --- a/incremental/runtime/package.json +++ b/incremental/runtime/package.json @@ -30,6 +30,7 @@ "build:common:inc": "npm run build:common:inc --prefix ../common", "build:runtime": "npm run build:runtime:inc", "build:runtime:inc": "npm run unmemoize && fast-arktsc --input-files ./arktsconfig-run-unmemoized.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc --link-name runtime && ninja ${NINJA_OPTIONS} -f build/build.ninja", + "build:runtime:inc:capi": "npm run unmemoize && fast-arktsc --input-files ./arktsconfig-run-unmemoized.json --output-dir ./build --compiler ../tools/panda/arkts/arktsc-capi --file-option --link-name runtime && ninja ${NINJA_OPTIONS} -f build/build.ninja", "build:incremental:components": "npm run build:compat && npm run build:common && npm run build:runtime", "build:incremental:components:inc": "npm run build:compat:inc && npm run build:common:inc && npm run build:runtime:inc", "link:incremental": "../tools/panda/arkts/arklink --output build/incremental.abc -- ../compat/build/compat.abc ../common/build/common.abc build/runtime.abc", -- Gitee