2014-12-19 101 views
9

语境如何有多个荚一个混帐回购协议

我们正在开发一个大型的软件平台,包含Android,服务器,Web和iOS(有其他人来)。为了保持我们所有的代码与其他代码保持最新,我们将它全部保存在一个主数据库中(这是非常重要的,因为我们在所有平台上共享一个模型,所以提交可能影响许多不同的平台)。

为了处理iOS端,我们决定将项目分解为模块化的pod,以便我们可以轻松地在我们的其他库(也包括pod)中共享它们,因此,当我们发布它时,我们的客户很容易包括我们的api在他们现有的项目中(即我们想用cocoapods结构来提供cocoapods所提供的所有优点)。

为了实现这个目标,我已经为每个项目设置了一个私有规格回购和pod规范。

tl; dr:我们有一个master git repo包含我们所有的代码(包括多个不同的pod)。我们希望保持这种结构,但也能够通过回购代码中的代码创建吊舱。

问题

我遇到的问题是所有我能找到荚规格的文档说,你应该使用这种格式:

spec.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => spec.version.to_s }

该车次的唯一部件我认为,我们的回购不仅包含一个吊舱(更不用说只是iOS代码)。

是否有可能做这样的事情:

spec.source = { :git => 'https://github.com/MyCompany/Master/MyCompanyCoreDir', :tag => spec.version.to_s }

我们真的很感谢所有帮助

干杯

靛蓝

+1

你终于搞清楚了怎么做? – iOSAddicted 2015-10-12 18:34:26

回答

11

它可以对单个的Git多的CocoaPods库。

正如您所说的,您可以为导致特定pod代码的每个源指定不同的来源。

为了达到此目的,您还必须在规范中设置合适的source_files,例如:s.source_files = 'SomePodDirectory/*.swift'

您甚至可以使用类似于此的来源s.source = { :git => 'https://github.com/MyCompany/Repository.git', :tag => 'SomePodName-v'+String(s.version) }来管理每个吊舱的多个版本。

在这种情况下,您应该在Git上创建适当的标签(例如SomePodName-v1.0.0)。

你可以看到这个here的工作示例。

相关问题