-
Notifications
You must be signed in to change notification settings - Fork 2
Milestone
Description
目前由于一些问题,手动封装脚本类和绑定库方案都较为废人,且在 es 更新后需要手动diff进行修改。
考虑编写一套生成工具,处理90%的绑定、封装生成,人工完成最后10%的复杂代码
graph TD
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef group fill:#ffffff,stroke:#000000,stroke-width:1px,stroke-dasharray: 5 5
A[endstone header]:::process -->|fix include| B[BlueIceCompiler.exe front]:::process
subgraph toolchain
class privateToolchain group
B --> C[BlueIceCompiler.exe >> AST.json ]:::process
C --> D[BlueIceCompiler.exe backend]:::process
end
%% 生成工具链
D --> E[decl-class.d.ts]:::process
D --> F[decl-class-wrapper]:::process
D --> G[decl-enum-builder]:::process
D --> H[impl-class-wrapper]:::process
D --> I[impl-enum-builder]:::process
D --> J[impl-class-builder]:::process
D --> P[impl-converter]:::process
%% 文件生成
F --> K[class.h]
G --> K
P --> K
H --> L[source.cc]
I --> L[source.cc]
J --> L[source.cc]
%% 编译
L --> M[MSVC/Clang]
K --> M
M --> N[js_engine.dll]
%% 文档生成
E --> O[Build Document]