【发布时间】:2022-01-13 18:44:52
【问题描述】:
我编写了一个代码生成器 https://github.com/vjuge/cdmdsl,它使用 gradle 的 buildSrc 从名为“CDM”的金融模型库 https://regnosys.jfrog.io/artifactory/libs-snapshot 生成一些 kotlin DSL 代码
它利用java的反射能力动态生成DSL(模型经常变化,新类型的引入,属性的改变/删除等)
它工作正常,因此我们可以包含此 DSL 以从任何基于 Java 的应用程序中轻松操作模型。
今天的缺点是我需要定期构建和部署我的 DSL 版本以遵循 CDM 版本。这有点烦人,而且不可持续。
我想知道是否有任何方法可以让我的项目能够“即时”构建,作为依赖项:
- 应用程序将实现两个依赖项:此 DSL + CDM 库
- 应用程序将设置所需的 CDM 依赖版本
- DSL 将像 gradle 插件一样使用,在应用程序构建时根据相应的 cdm 版本生成代码
希望我的描述足够清楚!
【问题讨论】:
标签: java kotlin gradle dsl gradle-plugin