Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find a way to force Xcode to generate xcscmblueprint file when not present #165

Closed
czechboy0 opened this issue Oct 13, 2015 · 7 comments
Closed

Comments

@czechboy0
Copy link
Member

No description provided.

@voidrender
Copy link
Contributor

Is there a manual workaround for this?

@czechboy0
Copy link
Member Author

There is, actually. If you manually create a Bot for your project which you're missing a xcscmblueprint file for with Xcode, you can actually use it to create the file manually.

  1. Create the Bot manually from Xcode
  2. Download the blueprint of this Bot from XCS by first finding out the id of this bot
curl -k -u USERNAME:PASSWORD https://127.0.0.1:20343/api/bots

This will print info for all bots (lots of JSON data), just find the one you just created by searching for the name of the bot and then find the corresponding field _id, which will be something like 903197d94f3b8d3c37fea94113d03df7 (let's call it BOT_ID).

Now call this with the bot id to get the blueprint

curl -k -u USERNAME:PASSWORD https://127.0.0.1:20343/api/bots/BOT_ID/blueprint -o MY_PROJECT_NAME.xcscmblueprint

and this will download it into a file with the extension xcscmblueprint. Obviously, plug in your values for USERNAME, PASSWORD (Xcode Server credentials), BOT_ID and MY_PROJECT_NAME.

Now that you have this file, open it for editing and remove the sub-dictionary with key DVTSourceControlWorkspaceBlueprintLocationsKey (that's not necessary). There. Save the file and move it into your project or workspace, into MY_PROJECT_NAME.xcworkspace/xcshareddata/MY_PROJECT_NAME.xcscmblueprint.

You should end up with something like this: https://github.com/czechboy0/BuildaUtils/blob/master/BuildaUtils.xcodeproj/xcshareddata/BuildaUtils.xcscmblueprint

This is the exact process I followed today to create a missing xcscmblueprint for BuildaUtils (the linked example). I'll try to add this into Buildasaur at some point in the future, but in the meantime, this 2-minute process will get you running.

@voidrender
Copy link
Contributor

That worked perfectly. Thanks!

@czechboy0
Copy link
Member Author

Not really needed anymore, see #188.

@tettoffensive
Copy link

tettoffensive commented Aug 13, 2016

@czechboy0 I'm still getting this. Am I doing something wrong?

Couldn't add Xcode project at path file:///Users/Stuart/Channels/Channels.xcworkspace, error: Cannot find the Checkout/Blueprint file and failed to parse repository metadata directly. Please create an issue on GitHub with anonymized information about your repository. (Error Disallowed checkout type, the project must be checked out over one of the supported schemes: SSH).

@voidrender
Copy link
Contributor

@tettoffensive

  1. Is your repo cloned via SSH?
  2. Does your remote URL look like ssh://user@server/project.git or user@server:project.git or is it something else?

@tettoffensive
Copy link

@ioveracker that could be the problem. It is likely https. Ill try cloning with ssh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants