4

アプリケーションをPlay Frameworkに移行しています。私たちは gradle ビルド システムで作業してきましたが、sbt でいくつかの問題に直面しています。

データベースに jooq を使用します。つまり、ビルド ファイルにデータベースのユーザー名/パスワードを含める必要があります (jooq は db スキーマを読み取ってコードを生成するため)。これは良い考えではないため、すべての機密データは、ビルドが実行される可能性のある各ホストの保護されたファイルに保存され、ビルド システムはファイルから読み取り、それに応じてシステムを構成します。gradle ではかなり簡単でしたが、sbt では行き詰まりました。これは私が今まで持っているものです:

import org.json4s._
import org.json4s.native.JsonMethods.

val jsonBuildConfig = TaskKey[JValue]("json-build-config")

jsonBuildConfig := {
   val confLines = scala.io.Source.fromFile("/etc/application.conf").mkString
   parse(confLines)
}

jooqOptions := Seq(
  "jdbc.driver"   -> "org.postgresql.Driver",
  "jdbc.url"      -> "FIXME",
  "jdbc.user"     -> "FIXME",
  "jdbc.password" -> "FIXME"
)

FIXME問題は、 の現在の値である 3 つの構成パラメータをjooqOptionsファイルから選択する必要があることです。

内でjsonBuildConfig、これを行うことができます:

val confLines = scala.io.Source.fromFile("/etc/application.conf").mkString
val jsonConf = parse(confLines)
(jsonConf / "stagingdb" / "url").values

しかし、どうすればjooqOptionsconfセットに設定できますか?

4

1 に答える 1