由于XCode - 我说的是XCode 5,但我不确定 - XCode在xcworkspace中维护了一个xccheckout文件,其中包含有关项目中所有git存储库的信息。
这很棒。我相信OS X Server持续集成机器人在构建之前使用它来提取存储库。这也很棒。
唯一的事情是......我正在为我的版本使用jenkins。
是否有人知道是否有办法读取这些xccheckout文件并将所有存储库拉到正确的位置,以及从命令行获取所有这些文件?这样我就可以在构建工作区之前编写脚本。
这是一个典型的xccheckout文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>EF087A90-0B8C-4247-BD67-C07C71A3C34C</string>
<key>IDESourceControlProjectName</key>
<string>testproject</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>4169309C54D8E435F84287928B9751B894920C41</key>
<string>ssh://gitlab.test/libraries/firstLib.git</string>
<key>94C8B3A5277B40CCD5E9739E5D105F1D70E9B323</key>
<string>ssh://gitlab.test/libraries/secondLib.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>kfcloyalty.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>4169309C54D8E435F84287928B9751B894920C41</key>
<string>../../libraries/firstLib</string>
<key>94C8B3A5277B40CCD5E9739E5D105F1D70E9B323</key>
<string>../../libraries/secondLib</string>
<string>..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>ssh://gitlab.test/testproject.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>D37710F4A624D737F25B20742E20352D45226453</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>4169309C54D8E435F84287928B9751B894920C41</string>
<key>IDESourceControlWCCName</key>
<string>firstLib</string>
</dict>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>94C8B3A5277B40CCD5E9739E5D105F1D70E9B323</string>
<key>IDESourceControlWCCName</key>
<string>secondLib</string>
</dict>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>D37710F4A624D737F25B20742E20352D45226453</string>
<key>IDESourceControlWCCName</key>
<string>testProject</string>
</dict>
</array>
</dict>
</plist>