处理分为子项目的大型Ruby项目的版本控制
TL;DR-大型项目有许多插件,这些插件导致自动测试经常失败。我想把这个项目分为核心回购和扩展回购,但怎么做呢 我有一个大型项目(),它有过多的插件,每个插件都有自己的依赖项。例如:处理分为子项目的大型Ruby项目的版本控制,ruby,project,versioning,packaging,Ruby,Project,Versioning,Packaging,TL;DR-大型项目有许多插件,这些插件导致自动测试经常失败。我想把这个项目分为核心回购和扩展回购,但怎么做呢 我有一个大型项目(),它有过多的插件,每个插件都有自己的依赖项。例如: 一个handlebar插件,它取决于therubyracer HTML验证程序插件,调用外部web服务 这些插件中有很多偶尔会失败: 未能构建(例如,therubyracer或nokogiri) 产生nanoc不期望的输出 调用关闭的web服务(例如HTML/CSS验证程序)、限制请求等 nanoc()使用
- 一个
插件,它取决于handlebar
therubyracer
- HTML验证程序插件,调用外部web服务
- 未能构建(例如,
或therubyracer
)李>nokogiri
- 产生nanoc不期望的输出李>
- 调用关闭的web服务(例如HTML/CSS验证程序)、限制请求等
- 一个核心存储库+gem,包含项目的基本代码,没有插件,以及
- 包含每个插件的插件库+gem
- 我不知道如何处理版本控制。两种宝石是否都应该使用相同的版本?这可能与我现在使用的方法相冲突
- 应该有一个插件库,还是每个插件都有自己的库?这可能会使版本控制更加困难
- 我想快速发布新插件,这样人们就不必等到新功能发布后才能使用新插件。在这里,版本控制更加困难
想法和想法受到赞赏。这取决于插件和主应用程序之间的关系 如果插件只能用于此应用程序,并且存在强耦合,则需要将插件放入插件路径并将其添加到主应用程序存储库中 如果插件可以用于更通用的用途,并且耦合更少,那么更好的方法是将这些插件配对,如下所示: