我有一个用于Python的C扩展模块,我希望把它提供给Ruby开发者.
源有许多C模块,只有一个是依赖于Python的.其余的只依赖于彼此和标准库.我可以用python setup.py build
通常的方式构建它.
我一直在尝试使用添加Ruby支持newgem
,我可以建立一个版本的延伸rake gem
.然而,组合的源具有难看的目录结构(混合宝石风格和setuptools的风格的结构)和构建过程是一个组装机.
我不能把所有的资源在同一个目录中,因为mkmf
自动拾取Python的相关模块,并试图建立一个和用户不应该安装Python编译将不使用的模块.我现在的黑客是extconf.rb
对Python的独立的源文件复制到同一目录中的Ruby相关的扩展模块.
是否有更健全的方法使代码可用于这两种语言?我应该在一个单独的Gem中复制与Python无关的代码吗?我应该将独立代码作为使用autotools构建的单独lib发布吗?是否有一个版本mkmf
可以跳过不需要的模块?
什么是ruby应用程序的理想目录结构.
我希望它部署在EC2上.它应该有Gemfile和Rake文件来执行rake任务.
它应包含实用程序的lib文件.
我应该只是使用命令
newgem - 简单测试