.xccheckout files on the command line
Since Xcode - I would say XCode 5, but I'm not sure - Xcode maintains an xccheckout file inside the xcworkspace, containing information about all the git repos inside the project.
And that's great. I believe OS X Server Continuous Integration uses it to pull repos before building. This is great too.
The only thing ... I am using jenkins for my compilations.
Does anyone know if there is a way to read these xccheckout files and pull all the repos in the right place and everything from the command line? So that I can script, before creating my workspace.
Here is a typical 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>
+3
source to share
No one has answered this question yet
Check out similar questions: