alcatraz / alcatraz-packages

Package list repository for Alcatraz
alcatraz.io
382 stars 386 forks source link

Added CoPilot plugin #318

Closed finestructure closed 9 years ago

finestructure commented 9 years ago

CoPilot is a plugin for collaborative editing. See http://feinstruktur.com/copilot/ for more details.

I'm unsure how to fully test that building the plugin via Alcatraz is working. It's using a fair number of submodules but builds fine for me across three different machines. Please let me know if there's something I can do to test this.

jurre commented 9 years ago

I believe we've had quite a few issues with this plugin, let me search the issue history of this repo and the alcatraz repo later and I'll get back to you

jurre commented 9 years ago

PS: You could test this by updating alcatraz to use your fork of the alcatraz-packages repo

finestructure commented 9 years ago

Whoops, I've only just seen your message. This is the first ever release of my plugin, are you perhaps referring to something else? I'll try to give this a spin asap and get back to you.

supermarin commented 9 years ago

@jurre that was CodePilot, this is a brand new plugin AFAIK

jurre commented 9 years ago

My bad!

finestructure commented 9 years ago

Thanks for the merge! I can confirm this works for 6.3.2. I've also tried 6.4b3 but it failed, probably because I didn't have its UUID in the Info.plist. I've added that now but it still fails. Is there any sort of refresh that needs to happen or would master from my plugin repo be picked up automatically?

jurre commented 9 years ago

You'll need to restart Xcode, that's where we check for plugin updates

finestructure commented 9 years ago

Yeah, I've done that but now I think it's probably related to the network I'm on which blocks ssh git checkouts :/ I'll have to retry on a another network.

finestructure commented 9 years ago

Ok, it looks like parts of the plugin aren't built anymore. It's missing libraries and the plugin binary. Not sure when it broke but it definitely did work on Saturday. Could you please tell me what the exact build command is that Alcatraz executes so I can try and debug it? Thanks!

jurre commented 9 years ago

Have a look here: https://github.com/supermarin/Alcatraz/blob/master/Alcatraz/Installers/ATZPluginInstaller.m, hope that helps!

Btw, you can also run Alcatraz itself and set some breakpoints/inspect the output to help debug this.

finestructure commented 9 years ago

Cool, thanks for the link. In the meantime I’ve seen that

xcodebuild -target CoPilot

does indeed fail on a new checkout. My project needs to build quite a few libs and is using a workspace. Here’s how I can build from the command line:

xcodebuild -workspace CoPilot.xcworkspace -scheme CoPilot

From looking at the installer source it looks like this won’t work for now :( My guess is that when I tested it on Saturday the dependent libs where picked up from somewhere else.

Not sure how to best fix this... There’s no binary distribution mechanism, is there? I could extend the installer to use a workspace if present but it’ll be a while before I get around to that. I could also add a build script like, say, alcatraz-build.sh which the installer could look for.

What do you think? Am I the only one using a workspace? I could also include the built libs in the repo and make the -target build work that way but that’s a bit ugly.

jurre commented 9 years ago

Binary distribution is something that we really want, but don't support yet unfortunately. I think something like an install.sh would work, @markohlebar did something similar for Peckham: https://github.com/supermarin/alcatraz-packages/pull/164

finestructure commented 9 years ago

Ok, I’ve taken a stab at adding support for building from xcworkspace in https://github.com/supermarin/Alcatraz/pull/293

This essentially looks if a xcworkspace is there and builds it if so. If there isn’t it keeps using the xcodeproj.

If that doesn’t work for you I’ll go ahead and fix up something like @markohlebar did for Peckham. Let me know!

jurre commented 9 years ago

Thanks @feinstruktur! I'll have to look into it a bit better after work, but it looks good

finestructure commented 9 years ago

I just realised this won’t solve the whole thing for me, because I also need

git submodule update --init —recursive
pod install

to run. I’ll try to roll this into the build as a preflight step but I’ve noticed that pod install keeps rewriting the project files. I’m not sure I’ll want that to happen potentially on every build.

finestructure commented 9 years ago

I've opened a PR against Alcatraz for script based installation here: https://github.com/supermarin/Alcatraz/pull/295

But as I say in the PR this is probably a bad idea.