-
Notifications
You must be signed in to change notification settings - Fork 386
Conversation
Yeah that could work |
One question that arises from the JSON structure: how are you going to handle the compatibility between different Versions of Xcode 5 for future releases? The new UUID checking will prevent plugins to work with newer versions. |
Yeah we've been thinking about it a lot but we don't really see a good solution for that issue, very open to suggestions though! |
One solution could be that the JSON file in the packages repo is only a bare file. When a pull request is merged a script (travis post install hook e.g.) parses the newly added xcodeproj file to find the Info.plist and checks the entries for XC4Compatible, XC5Compatible, and DVTPlugInCompatibilityUUIDs. This values can be added to the actual file loaded by the plugin. The plugin could check for them and filter the displayed list. I admit that this is very complex. |
That's a good suggestion, but it doesn't solve the case where plugins that are already installed don't support the current (newly updated) xcode version yet, which is our biggest concern. |
I think the bigger problem is that also Alcatraz itself has to be updated after a Xcode version is released to be runnable again. I remember some Mail.app plugins dealing with the same (there the UUIDs have been there for a long time) by installing a helper modifying the plist. Ugly but i can't think of another solution. To get back to the point: there is no problem for me to wait until the versioning issue is solved. |
Yes, that's the biggest concern indeed. Modifying the plist kind of defeats the purpose of having the UUIDs in place (to not crash Xcode when a plugin doesn't work on a new Xcode version) but it is one of the options indeed. Appreciate your feedback btw! |
Hi @ricobeck, trying to merge this but I'm getting the following error when trying to install: PhaseScriptExecution Check\ Pods\ Manifest.lock build/KFCocoaPodsPlugin.build/Release/KFCocoaPodsPlugin.build/Script-C90012E6A43940B78D0347BA.sh
cd "/Users/jurre/Library/Application Support/Alcatraz/Plug-ins/KFCocoaPodsPlugin"
/bin/sh -c \"/Users/jurre/Library/Application\ Support/Alcatraz/Plug-ins/KFCocoaPodsPlugin/build/KFCocoaPodsPlugin.build/Release/KFCocoaPodsPlugin.build/Script-C90012E6A43940B78D0347BA.sh\"
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
** BUILD FAILED **
The following build commands failed:
PhaseScriptExecution Check\ Pods\ Manifest.lock build/KFCocoaPodsPlugin.build/Release/KFCocoaPodsPlugin.build/Script-C90012E6A43940B78D0347BA.sh
(1 failure) |
I managed it to track the cocoapods lockfile – this caused the out of sync message. I removed it, could you please try it again? |
Still getting that error.. Usually having an (up to date) .lock file in your repo is preferred to make sure that every developer has the same exact versions of your pods.
|
Do you use the project or the workspace file? |
We use the project file.. Adding workspace support shouldn't be too hard, I'm just thinking about a few things we'll have to consider
|
As there is no reliable mechanism for detecting the correct scheme i think it would be the best idea to add 'scheme' for project- and 'workspace_scheme' for workspace files.
|
Just a note - i'm not sure if we should add cocoa pods support, since we could easily end up in a hell. I'd be more inclined towards adding a binary support, so developers build plugins themselves and we distribute .xcplugins |
From my point of view (the contributor) it's better to have a binary option. I can release a plugin version and host it somewhere. I can even track the number of installations via my web server's access.log. No problems when i break my repo. |
Preferably people would use github releases right? |
This brings up a whole new level of thoughts,. ideally, we'd have a similar ecosystem like ruby gems. |
Would you prefer to provide hosting like rubygems does or let plugin maintainers host them like homebrew does? |
@jurre initially was planning on our own hosting. benefits:
downsides:
After some time, my thoughts would be - maybe create a good CLI for developers and encourage proper tagging => Github releases for downloads. |
@supermarin food for thought.. BTW I think there's currently a version of KFCocoaPods in the repo and we need to remove it since it can't be installed |
@jurre yeah we should remove it until it works. |
Unfortunately this plugin is currently not working. See: #69
Unfortunately this plugin is currently not working. See: #69
This plugin only supports Xcode 5 but i found no policy how you handle this.