Play框架中生成的源代码(特别是thrift)

时间:2012-11-20 22:07:15

标签: java playframework thrift

我正在考虑使用thrift作为使用play框架编写的服务器的传输。 Thrift必须将IDL文件转换为java源文件。使用典型的构建过程(例如ant),我知道如何在进入主编译步骤之前创建生成的源。由于Play控制了编译过程,我不确定如何将生成的源注入构建过程,或者即使可能。有没有办法为Play创建额外的构建步骤,还是只需要确保我的thrift文件是手动更新的?

1 个答案:

答案 0 :(得分:0)

Play 2使用SBT作为构建工具,因此您可以使用完整的SBT电源: http://www.scala-sbt.org/release/docs/Howto/generatefiles.html

在setup()中添加Build.scala阻止源生成器:

val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
  sourceGenerators in Compile <+= sourceManaged in Compile map { dir =>
    //example for one scala file, call your thrift generation here for multiple files
    val file = dir / "demo" / "Test.scala"
    IO.write(file, """object Test extends App { println("Hi") }""")

    Seq(file) //list your generated files here
   }
)