OpenApi 生成器 - 如何跳过因版本更改而生成的文件更改

OpenApiGenerator - How can I skip generating file changes because of a version change

我正在使用 typescript-rxjs 生成器。每当我生成 API 客户端的新版本时,所有文件都会更改,其中 99% 是因为版本更改: * The version of the OpenAPI document: 1.47.0-rc.20。真正的变化会淹没在如此多的变化中。

我不想覆盖生成器的所有文件模板。这似乎效率低下,因为我必须观察模板的变化。

不同的 OpenAPI 生成器使用 Mustache 作为生成不同工件的模板引擎。

在此特定用例中,版本信息在licenseInfo.mustache中定义。

此模板包含在用于生成不同客户端工件的其余模板中。

您可以尝试修改该模板并提供您自己的版本。 OpenAPI 生成器使您能够 override 现有模板。

修改后,您需要configure您用作生成器的工具(CLI、Maven、Gradle)指示在哪里查找修改后的模板。

如有必要,您甚至可以提供您的own custom user defined templates

另一种方法可能是定义某种 file post-processing 逻辑,一旦生成器完成其过程就会执行。

typescript-rxjs生成器的情况下,要执行的代码必须在环境变量TS_POST_PROCESS_FILE.

中定义为字符串值

典型例子:

export TS_POST_PROCESS_FILE="/usr/local/bin/prettier --write"

在你的情况下,也许你可以定义某种脚本,例如,如果你使用 linux 或基于 unix 的 OS,则可以使用 sed 或其他文本处理工具,或自定义 node.js 脚本,删除该信息。解决方案将再次取决于实际机制 - CLI、Maven、Gradle、... - 您用于生成代码。

话虽如此,请考虑是否有必要将生成的文件置于版本控制之下。可能有一些机制可以让你的代码直接生成和使用它,或者你可以定义 CI 流来生成一个 npm 包,可以在私有注册表中使用,并在你的不同项目中使用这个包,如有必要。