在Erlang / OTP中放置原型文件生成的代码的位置?

时间:2012-12-16 12:48:14

标签: erlang protocol-buffers

这更像是寻找合理的方法而不是问题。我正在使用gpb*.proto文件(Google Protocol Buffers)生成Erlang绑定。我的OTP应用程序的结构是默认的:

/ebin
/include
/priv
/src

给定*.proto文件,假设person.proto,gpb生成person.erl,包括解码和编码消息的方法,以及保存记录定义的person.hrl作为协议缓冲区在Erlang中实现为记录。放置这些生成的文件的位置可以传递进行编译,但我想知道放在哪里。有一个debate是否将生成的源代码置于版本控制之下,但我想省略它。因此,将原型文件存储在src/中不适用,因为它们每次都会出现在版本控制中。 那么放在哪里?

2 个答案:

答案 0 :(得分:4)

使用允许源控制系统忽略它们的命名规则(如gpb_前缀)将它们放在src目录中。

答案 1 :(得分:2)

我肯定会将它们放在src目录中。然后,您确保包含源代码管理系统中的.proto文件,同时确保从源代码管理系统中排除相应的.erl。您需要的只是构建工具(make,rebar,...)中的规则,以便从.erl文件生成.proto文件,然后进行编译。根据源控制系统,您可能不必删除它们(这适用于git)。