我即将开始一个项目,主要是用来尝试多种语言,但也有一些实用价值。它将包括一个用Erlang编写的服务器应用程序和客户端库在多种语言中编写。最初,我希望使用Java、Ruby和Python编写客户端。实际通信协议将是Thrift。
我正在寻找一个构建系统,可以让我一次性构建服务器和所有客户端库,在每种语言中运行单元测试,然后以每种语言的“标准”方式打包一个可发布的构件。
这意味着Java的Jar文件,Python的RubyGem和distribute/setuptools tarball。Erlang可能也有类似的东西,但我还不熟悉。它还应该能够运行Thrift编译器以生成每种语言中的各种Thrift stub。
首先考虑的是Maven。我相当确定Maven可以满足我的所有需求,但我担心它过于针对Java,而且每次需要添加新语言时会给我留下大量工作。