【问题标题】:JOOQ sbt 0.3.16 to 1.2.8 migrationJOOQ sbt 0.3.16 到 1.2.8 迁移
【发布时间】:2019-09-05 17:07:27
【问题描述】:

如何将 JOOQ 构建和配置从 sbt 0.3.16 迁移到 sbt 1.2.8

0.3.16 中的 JOOQ 构建定义如下。

val generateJOOQ = taskKey[Seq[File]]("Generate JooQ classes")

val generateJOOQTask = (baseDirectory, dependencyClasspath in Compile, runner in Compile, streams) map { (base, cp, r, s) =>
  toError (r.run(
    "org.jooq.util.GenerationTool",
    cp.files,
    Array("conf/openDoor.xml"),
    s.log))
  ((base / "app" / "jooqSteps") ** "*.scala").get
}

generateJOOQ <<= generateJOOQTask

以及运行 sbt (1.2.8) 时的结果:

build.sbt:70: error: value map is not a member of (sbt.SettingKey[java.io.File], sbt.TaskKey[sbt.Keys.Classpath], sbt.TaskKey[sbt.ScalaRun], sbt.TaskKey[sbt.Keys
.TaskStreams])
val generateJOOQTask = (baseDirectory, dependencyClasspath in Compile, runner in Compile, streams) map { (base, cp, r, s) =>
                                                                                                   ^
C:\workPlay\anchor\build.sbt:71: error: not found: value toError
  toError (r.run(
  ^
[error] sbt.compiler.EvalException: Type error in expression

感谢您的帮助

【问题讨论】:

    标签: sbt jooq


    【解决方案1】:

    根据migrating from tuple enrichments指南和dropped deprecations release notes我们可以迁移generateJOOQTask如下

    val generateJOOQ = taskKey[Seq[File]]("Generate JooQ classes")
    generateJOOQ := {
      val base = baseDirectory.value
      val cp = (dependencyClasspath in Compile).value
      val r = (runner in Compile).value
      val s = streams.value
    
      r.run(
        "org.jooq.util.GenerationTool",
        cp.files,
        Array("conf/openDoor.xml"),
        s.log
      ).failed foreach (sys error _.getMessage)
    
      ((base / "app" / "jooqSteps") ** "*.scala").get
    
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-27
      • 2021-04-09
      • 1970-01-01
      • 2018-05-24
      • 2019-08-03
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 2019-05-02
      相关资源
      最近更新 更多