2

.proto生成された Java ソースを使用したプロジェクト用のファイルがいくつかあります。プロジェクトのコンパイル中にこれらのファイルを Play が自動的にコンパイルしてインクルードするようにしたいと思います。

理想的には、次のようにディレクトリ.proto内にファイルを保持します。app

<play root>/
  app/
    protobuf/
      myfile.proto
    controllers/
      Application.scala
  ...

いくつかの要件は次のとおりです。

  • 生成されたソースはgit に含めるべきではありません
  • Herokuはデプロイ中に protobuf をコンパイルできる必要があります
4

1 に答える 1

7

sbt-protobufを使用できます。次のようにいくつかのファイルを構成する必要があります (sbt 0.11 以降を使用):

プロジェクト/plugins.sbt

resolvers += "gseitz@github" at "http://gseitz.github.com/maven/"

addSbtPlugin("com.github.gseitz" % "sbt-protobuf" % "0.2.2")

build.sbt

// must be at top of file

import sbtprotobuf.{ProtobufPlugin=>PB}

seq(PB.protobufSettings: _*)

javaSource in PB.protobufConfig <<= (sourceManaged in Compile)

この構成では、protobufs が想定さapp/protobufれ、管理された (バージョン管理されていない) ソース ディレクトリに配置されます。

警告-protobuf ファイルに package nameを付けないmessagesでください。Playに干渉し、あちこちで i18n エラーが発生します。

于 2012-08-25T22:13:32.183 に答える