.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





All Articles