JOOQ类生成和gradle

时间:2014-12-02 07:45:45

标签: java gradle jooq

我的问题是使用gradle和jooq设置构建的最佳方法是什么,具有以下约束:

我有:

  • 一个非常基本的gradle构建文件,但可以使用eclipse,jooq,postgres和HSQL
  • 由gradle管理的eclipse项目中的一些'核心'java类,包括几个Enums
  • 在同一个项目中的几个数据库模式,每个都在自己的文件(schema1.sql,schema2.sql等)中
  • 最优秀的JOOQ库,以及HSQLDB中非常酷的SQLFile实用程序
  • ANT脚本和java程序的组合,以漂亮的手动方式执行以下步骤,并且我想自动化。

我希望gradle管理以下功能:

  • 核心类已编译
  • 要加载到postgres数据库中的每个数据库模式(我知道如何在gradle中执行此操作)
  • JOOQ库从每个模式生成类(我知道如何在gradle中执行此操作)使用类型映射将一些数据库列映射到适当的核心类Enums(我还不知道如何在gradle中执行此操作,因为我不知道如何让JOOQ任务访问核心类)

在我面前似乎有几种选择,但我不确定哪种选择最好:

  • 选项一:将项目拆分为两个项目,“核心”和“db”,后者用于执行列到枚举映射,下游项目取决于两者
  • 选项二:保留一个项目,但将生成分为三个步骤“编译核心”,“生成类”,“编译生成的类”,其中每个步骤都可以访问前面生成的伪像。但我真的不知道该怎么做。

我认为,如果有足够的时间,我可能可以解决该怎么做,但我真的很想知道这是否是一个已解决的问题,并且有一种明显的或规范的方式来做到这一点。为了记录,我的偏好是选项二,因为这种模式与其他项目一致,而选项一将使我必须处理的项目数量增加一倍。 (也许这不是那么糟糕......)

很抱歉,如果这是一个模糊的问题 - gradle的文档实际上从“这是怎么做X”的观点来看相当不错,但我真的不觉得我对如何得到了很好的概述所有的东西都挂在一起。

我非常感谢任何帮助。

修改

我有一个相关的问题,即如何进行选项2的具体细节。这个问题和答案在这里Gradle: assembling multiple source-sets into one jar

虽然这个问题和答案描述了如何做第二选项,但他们并没有回答更广泛的问题:“这是最好的方式吗”,所以我将这个问题保持开放。

0 个答案:

没有答案