1

这与其说是一个问题,不如说是在寻找一种合理的方法。我正在使用gpb从文件中生成 Erlang 绑定*.proto(Google 协议缓冲区)。我的 OTP 应用程序的结构是默认的:

/ebin
/include
/priv
/src

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

4

2 回答 2

4

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

于 2012-12-16T15:38:56.593 回答
2

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

于 2012-12-17T00:18:14.067 回答