1

これは、問題というよりも合理的なアプローチの探求です。gpbを使用して、*.protoファイル(Google Protocol Buffers)からErlangバインディングを生成しています。私のOTPアプリケーションの構造はデフォルトです:

/ebin
/include
/priv
/src

*.protoたとえば、ファイルが与えられると、プロトコルバッファがErlangのレコードとして実装されるためperson.proto、gpbはperson.erl、メッセージのデコードとエンコードのメソッドを含み、person.hrlレコード定義を保持するを生成します。これらの生成されたファイルが置かれる場所はコンパイルのために渡すことができますが、どこに置くべきか疑問に思います。生成されたソースコードをバージョン管理下に置くかどうかについては議論がありますが、省略したいと思います。このため、protoファイルをに保存するsrc/ことは、バージョン管理に毎回表示されるため、適用できません。では、どこに置くのでしょうか?

4

2 に答える 2

4

ソース管理システムがそれらを無視できるようにする命名規則(gpb_プレフィックスなど)を使用して、それらをsrcディレクトリに配置します。

于 2012-12-16T15:38:56.593 に答える
2

私は間違いなくそれらをsrcディレクトリに置きます。次に、ファイルをソース管理システムに明示的に含め、対応.protoするファイルをソース管理システムから必ず除外.erlします。.erl次に必要なのは、ファイルからファイルを生成して.protoコンパイルするためのビルドツール(make、rebarなど)のルールだけです。ソース管理システムによっては、おそらくそれらを削除する必要はありません(これはgitで機能します)。

于 2012-12-17T00:18:14.067 に答える