这更像是寻找合理的方法而不是问题。我正在使用gpb从*.proto
文件(Google Protocol Buffers)生成Erlang绑定。我的OTP应用程序的结构是默认的:
/ebin
/include
/priv
/src
给定*.proto
文件,假设person.proto
,gpb生成person.erl
,包括解码和编码消息的方法,以及保存记录定义的person.hrl
作为协议缓冲区在Erlang中实现为记录。放置这些生成的文件的位置可以传递进行编译,但我想知道放在哪里。有一个debate是否将生成的源代码置于版本控制之下,但我想省略它。因此,将原型文件存储在src/
中不适用,因为它们每次都会出现在版本控制中。 那么放在哪里?
答案 0 :(得分:4)
使用允许源控制系统忽略它们的命名规则(如gpb_前缀)将它们放在src目录中。
答案 1 :(得分:2)
我肯定会将它们放在src目录中。然后,您确保包含源代码管理系统中的.proto
文件,同时确保从源代码管理系统中排除相应的.erl
。您需要的只是构建工具(make,rebar,...)中的规则,以便从.erl
文件生成.proto
文件,然后进行编译。根据源控制系统,您可能不必删除它们(这适用于git)。