awtk/tools/idl_gen
2023-10-10 17:55:54 +08:00
..
node_modules add node_modules for idl 2020-12-27 11:28:46 +08:00
.gitignore init 2018-02-21 19:36:38 +08:00
code_gen.js refactor idl gen 2020-01-02 10:12:42 +08:00
idl_gen.js improve idl_gen 2023-10-10 17:55:54 +08:00
index.js sync tkc 2022-06-25 16:53:06 +08:00
merge.js add merge.js and update docs 2019-05-08 16:23:46 +08:00
package-lock.json improve api comment 2023-07-19 22:07:24 +08:00
package.json add node_modules for idl 2020-12-27 11:28:46 +08:00
README.md improve idl gen 2022-02-23 14:35:34 +08:00
tkc.js sync tkc 2022-08-31 11:49:53 +08:00

AWTK IDL 生成工具

在 AWTK 中,对外的 API 都按 规定格式 编写注释,通过 IDL gen 工具把这些注释提取成 JSON 文件,这个 JSON 文件可以用来生成文档、各种语言的绑定和 web 版本对外的 API。

一、准备工作

(如果已经安装请跳过)

二、生成 IDL 文件

    1. 基本用法
node index.js  [outputIDL] [sourcesPath] [defDirList]
  • outputIDL 输出的 IDL 文件名。

  • sourcesPath 源代码的路径。

  • defDirList 导出 IDL 的源码依赖路径,如果没有依赖可以缺省,如果多个依赖路径需要通过分号隔开,如 "../awtk;../awtk-mvvm;"。

    1. 生成 AWTK 的 IDL 文件。
node index.js
    1. 生成外部项目的 IDL 文件。

生成外部项目的 IDL 文件时,需要指定输出的 IDL 文件名源代码的路径以及缺省设置导出 IDL 的源码依赖路径。如:

node index.js  slider_circle.idl ../../../awtk_slider_circle/src "../../awtk;"

三、合并多个 IDL 文件

生成各种语言绑定时,需要把 AWTK 本身的 IDL、自定义控件的 IDL、和其它类的 IDL 合并到一个 IDL 文件中,这时可以使用 merge.js 工具。

基本用法:

node merge.js [多个 IDL 文件(被依赖的放在前面)]

如:

node merge.js idl.json test.json